From 526cca84087f50d48b66afe326ea940f5b43925b Mon Sep 17 00:00:00 2001 From: Daniela Soares Feitosa Date: Wed, 1 Jun 2016 13:18:31 -0300 Subject: [PATCH] Validate format of siorg_code and add test --- src/noosfero-spb/gov_user/lib/institution.rb | 15 ++++----------- src/noosfero-spb/gov_user/test/unit/institution_test.rb | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/noosfero-spb/gov_user/lib/institution.rb b/src/noosfero-spb/gov_user/lib/institution.rb index a9fc63d..0e21d2c 100644 --- a/src/noosfero-spb/gov_user/lib/institution.rb +++ b/src/noosfero-spb/gov_user/lib/institution.rb @@ -46,18 +46,11 @@ class Institution < ActiveRecord::Base } validate :validate_country, :validate_state, :validate_city, - :verify_institution_type, :verify_siorg_code + :verify_institution_type - def verify_siorg_code - if (self.siorg_code.present? && (self.siorg_code =~ /^[0-9]+$/).nil?) - self.errors.add( - :siorg_code, - _("invalid, only numbers are allowed.") - ) - return false - end - true - end + validates :siorg_code, + format: {with: /\A[0-9]+\z/, message: _("invalid, only numbers are allowed.")}, + allow_blank: true def has_accepted_rating? user_rating rating_ids = OrganizationRating.where(institution_id: self.id, organization_id: user_rating.organization_id).map(&:id) diff --git a/src/noosfero-spb/gov_user/test/unit/institution_test.rb b/src/noosfero-spb/gov_user/test/unit/institution_test.rb index 4408ab6..638b9cf 100644 --- a/src/noosfero-spb/gov_user/test/unit/institution_test.rb +++ b/src/noosfero-spb/gov_user/test/unit/institution_test.rb @@ -73,4 +73,19 @@ class InstitutionTest < ActiveSupport::TestCase assert_includes search_result_env1, @institution.id assert_not_includes search_result_env2, @institution.id end + + should "not save if siorg_code is not a number" do + @institution.siorg_code = "not a number" + assert_equal false, @institution.save + + @institution.siorg_code = "1111111" + assert_equal true, @institution.save + end + + should "validate siorg_code if it is blank" do + @institution.siorg_code = "" + assert_equal true, @institution.save + end + + end -- libgit2 0.21.2