From 70a9066353a1cb9a0a556e552c3f5aa11bdb4521 Mon Sep 17 00:00:00 2001 From: ParleyMartins Date: Fri, 17 Oct 2014 16:26:47 +0000 Subject: [PATCH] Fix validation of software info. --- lib/software_info.rb | 6 ++---- test/unit/software_info_validation_test.rb | 20 +++++++++----------- 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/lib/software_info.rb b/lib/software_info.rb index 1f4ba3a..633a314 100644 --- a/lib/software_info.rb +++ b/lib/software_info.rb @@ -15,6 +15,8 @@ class SoftwareInfo < ActiveRecord::Base has_one :software_categories validates_length_of :finality, :maximum => 100 + validates_length_of :objectives, :maximum => 4000 + validates_length_of :features, :maximum => 4000 validate :validate_acronym @@ -104,10 +106,6 @@ class SoftwareInfo < ActiveRecord::Base true end - def validate_operating_platform - self.errors.add(:operating_platform, _("can't be blank")) if self.operating_platform.blank? && self.errors.messages[:operating_platform].nil? - end - def validate_acronym self.acronym = "" if self.acronym.nil? if self.acronym.length > 10 && self.errors.messages[:acronym].nil? diff --git a/test/unit/software_info_validation_test.rb b/test/unit/software_info_validation_test.rb index acba47b..2ddcb11 100644 --- a/test/unit/software_info_validation_test.rb +++ b/test/unit/software_info_validation_test.rb @@ -43,9 +43,9 @@ class SoftwareInfoValidationTest < ActiveSupport::TestCase assert_equal true, @software_info.save end - should 'Not save SoftwareInfo if operating_platform is blank' do + should 'Save SoftwareInfo if operating_platform is blank' do @software_info.operating_platform = '' - assert_equal false, @software_info.save + assert_equal true, @software_info.save end should 'Save SoftwareInfo without demonstration_url be filled' do @@ -64,36 +64,34 @@ class SoftwareInfoValidationTest < ActiveSupport::TestCase assert_equal false, @software_info.save end - should "Not save SoftwareInfo if acronym has whitespaces" do + should "Save SoftwareInfo if acronym has whitespaces" do @software_info.acronym = "AC DC" assert_equal false, @software_info.save end - should "Not save if objectives are empty" do + should "Save if objectives are empty" do @software_info.objectives = "" - assert_equal false, @software_info.save - assert_equal true, @software_info.errors.full_messages.include?(_("Objectives can't be blank")) + assert_equal true, @software_info.save end - should "Not save if features are empty" do + should "Save if features are empty" do @software_info.features = "" - assert_equal false, @software_info.save - assert_equal true, @software_info.errors.full_messages.include?(_("Features can't be blank")) + assert_equal true, @software_info.save end should "Not save if features are longer than 4000" do @software_info.features = "a"*4001 assert_equal false, @software_info.save - assert_equal true, @software_info.errors.full_messages.include?(_("Features Software features is too long (maximum is 4000 characters)")) + assert_equal true, @software_info.errors.full_messages.include?(_("Features is too long (maximum is 4000 characters)")) end should "Not save if objectives are longer than 4000" do @software_info.objectives = "a"*4001 assert_equal false, @software_info.save - assert_equal true, @software_info.errors.full_messages.include?(_("Objectives Software features is too long (maximum is 4000 characters)")) + assert_equal true, @software_info.errors.full_messages.include?(_("Objectives is too long (maximum is 4000 characters)")) end end -- libgit2 0.21.2