diff --git a/lib/software_language.rb b/lib/software_language.rb index 1b86529..a24b00e 100644 --- a/lib/software_language.rb +++ b/lib/software_language.rb @@ -4,5 +4,8 @@ class SoftwareLanguage < ActiveRecord::Base belongs_to :software_info belongs_to :programming_language + validates_length_of :version, maximum: 20, too_long: _("Software language is too long (maximum is 20 characters)") + validates_length_of :operating_system, maximum: 20, too_long: _("Software language is too long (maximum is 20 characters)") + validates_presence_of :version,:programming_language,:operating_system end diff --git a/test/unit/software_language_validation.rb b/test/unit/software_language_validation.rb index 83126f6..b143343 100644 --- a/test/unit/software_language_validation.rb +++ b/test/unit/software_language_validation.rb @@ -24,6 +24,18 @@ class SoftwareLanguageValidationTest < ActiveSupport::TestCase assert_equal true, !@software_language.save end + should "Don't save SoftwareLanguage if version is too long" do + @software_language = create_software_language + @software_language.version = "A too long version to be considered valid as a version" + assert_equal true, !@software_language.save + end + + should "Don't save SoftwareLanguage if operating system is too long" do + @software_language = create_software_language + @software_language.operating_system = "A too long operating system to be considered valid as a operating system" + assert_equal true, !@software_language.save + end + should "Save SoftwareLanguage if operating_system is not filed" do @software_language = create_software_language @software_language.operating_system = "" -- libgit2 0.21.2