diff --git a/lib/institution.rb b/lib/institution.rb index dd1988a..08885db 100644 --- a/lib/institution.rb +++ b/lib/institution.rb @@ -20,28 +20,41 @@ class Institution < ActiveRecord::Base where("name ilike ? OR acronym ilike ?", "%#{value}%", "%#{value}%" ) } - validate :validate_country, :validate_state, :validate_city + validate :validate_country, :validate_state, :validate_city, :verify_institution_type protected def verify_institution_type - # valid_institutions_type = ["PublicInstitution", "PrivateInstitution"] + valid_institutions_type = ["PublicInstitution", "PrivateInstitution"] - # unless valid_institutions_type.include? self.type - # self.errors.add(:type, _("invalid, only public and private institutions are allowed.")) - # false - # end + unless valid_institutions_type.include? self.type + self.errors.add(:type, _("invalid, only public and private institutions are allowed.")) + return false + end + return true end def validate_country - # self.errors.add(:country, _("can't be blank")) if self.community.country.blank? && self.errors[:country].blank? + if (self.community.blank?) || self.community.country.blank? && self.errors[:country].blank? + self.errors.add(:country, _("can't be blank")) + return false + end + return true end def validate_state - # self.errors.add(:state, _("can't be blank")) if self.community.state.blank? && self.errors[:state].blank? + if (self.community.blank?) || self.errors[:state].blank? && self.community.state.blank? + self.errors.add(:state, _("can't be blank")) + return false + end + return true end def validate_city - # self.errors.add(:city, _("can't be blank")) if self.community.city.blank? && self.errors[:city].blank? + if (self.community.blank?) || self.errors[:city].blank? && self.community.city.blank? + self.errors.add(:city, _("can't be blank")) + return false + end + return true end end diff --git a/test/functional/software_test_helper.rb b/test/functional/software_test_helper.rb index c48a651..3b58f93 100644 --- a/test/functional/software_test_helper.rb +++ b/test/functional/software_test_helper.rb @@ -141,7 +141,7 @@ module SoftwareTestHelper fields['acronym'] = 'test' fields['objectives'] = 'test' fields['features'] = 'test' - fields['operating_platform'] = 'operating_plataform_test' + fields['operating_platform'] = 'operating_platform_test' fields['demonstration_url'] = 'test' fields_categories = {} diff --git a/test/unit/institution_test.rb b/test/unit/institution_test.rb index 04b41aa..042967a 100644 --- a/test/unit/institution_test.rb +++ b/test/unit/institution_test.rb @@ -1,16 +1,14 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' +require File.dirname(__FILE__) + '/plugin_test_helper' class InstitutionTest < ActiveSupport::TestCase - + include PluginTestHelper def setup - community = Community.create(:name => "Simple Public Institution") - - @institution = Institution::new :name=>"Simple Institution" + @gov_power = GovernmentalPower.create(:name=>"Some Gov Power") + @gov_sphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") + @juridical_nature = JuridicalNature.create(:name => "Autarquia") - @institution.community = community - @institution.community.country = "BR" - @institution.community.state = "DF" - @institution.community.city = "Gama" + @institution = create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, @gov_power, @gov_sphere) end should "not save institutions without name" do diff --git a/test/unit/juridical_nature_test.rb b/test/unit/juridical_nature_test.rb index b687079..d3e9159 100644 --- a/test/unit/juridical_nature_test.rb +++ b/test/unit/juridical_nature_test.rb @@ -20,24 +20,4 @@ class JuridicalNatureTest < ActiveSupport::TestCase create_public_institution("Tribunal Regional da Uniao", "TRU", "BR", "DF", "Brasilia", juridical_nature, @govPower, @govSphere) assert juridical_nature.public_institutions.count == PublicInstitution.count end - - private - - def build_institution name, type="PublicInstitution", cnpj=nil - institution = Institution::new - institution.name = name - institution.type = type - institution.cnpj = cnpj - - institution.community = Community.create(:name => "Simple Public Institution") - institution.community.country = "BR" - institution.community.state = "DF" - institution.community.city = "Gama" - - if type == "PublicInstitution" - institution.juridical_nature = JuridicalNature.first - end - - end - end diff --git a/test/unit/mpog_software_plugin_test.rb b/test/unit/mpog_software_plugin_test.rb index ede2216..d54d497 100644 --- a/test/unit/mpog_software_plugin_test.rb +++ b/test/unit/mpog_software_plugin_test.rb @@ -6,7 +6,7 @@ class MpogSoftwarePluginTest < ActiveSupport::TestCase def setup @plugin = MpogSoftwarePlugin.new - @user = create_user + @user = create_user("login", "user@email.com", "123456", "123456", "user@secondary_email.com") @person = @user.person end @@ -33,18 +33,4 @@ class MpogSoftwarePluginTest < ActiveSupport::TestCase assert_equal(test_percentege, plugin_percentege) end - - private - - def create_user - user = User.new - user.login = "login" - user.email = "user@email.com" - user.password = "123456" - user.password_confirmation = "123456" - user.secondary_email = "user@secondary_email.com" - user.save - user.person.save - user - end end diff --git a/test/unit/mpog_user_test.rb b/test/unit/mpog_user_test.rb index 2c5fce2..cf5bb09 100644 --- a/test/unit/mpog_user_test.rb +++ b/test/unit/mpog_user_test.rb @@ -1,6 +1,8 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' +require File.dirname(__FILE__) + '/plugin_test_helper' class MpogSoftwarePluginUserTest < ActiveSupport::TestCase + include PluginTestHelper should 'not save user whose both email and secondary email are the same' do @@ -95,13 +97,16 @@ class MpogSoftwarePluginUserTest < ActiveSupport::TestCase should 'have institution if email is governmental' do user = fast_create(User) - user.email = "test@gov.br" + user.email = "testtest@gov.br" user.institutions = [] assert !user.save, "this should not save" - institution = build_institution "Test simple institution" - institution.save + gov_power = GovernmentalPower.create(:name=>"Some Gov Power") + gov_sphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") + juridical_nature = JuridicalNature.create(:name => "Autarquia") + institution = create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", juridical_nature, gov_power, gov_sphere) + institution.save! user.institutions << institution assert user.save, "this should save" @@ -119,21 +124,4 @@ class MpogSoftwarePluginUserTest < ActiveSupport::TestCase return user end - def build_institution name, type="PublicInstitution", cnpj=nil - institution = Institution::new - institution.name = name - institution.type = type - institution.cnpj = cnpj - - institution.community = Community.create(:name => name) - institution.community.country = "BR" - institution.community.state = "DF" - institution.community.city = "Gama" - - if type == "PublicInstitution" - institution.juridical_nature = JuridicalNature.first - end - - institution - end end diff --git a/test/unit/mpog_validation_test.rb b/test/unit/mpog_validation_test.rb index ede572f..72cc6af 100644 --- a/test/unit/mpog_validation_test.rb +++ b/test/unit/mpog_validation_test.rb @@ -7,11 +7,7 @@ class MpogSoftwarePluginValidationTest < ActiveSupport::TestCase def setup @plugin = MpogSoftwarePlugin.new - institution = build_institution("Test institution") - institution.save - @user = fast_create(User) - @user.institutions << institution end def teardown @@ -29,24 +25,4 @@ class MpogSoftwarePluginValidationTest < ActiveSupport::TestCase @user.email = "test_email@net.br" assert @user.save end - - private - - def build_institution name, type="PublicInstitution", cnpj=nil - institution = Institution::new - institution.name = name - institution.type = type - institution.cnpj = cnpj - - institution.community = Community.create(:name => "Simple Public Institution") - institution.community.country = "BR" - institution.community.state = "DF" - institution.community.city = "Gama" - - if type == "PublicInstitution" - institution.juridical_nature = JuridicalNature.first - end - - institution - end end diff --git a/test/unit/plugin_test_helper.rb b/test/unit/plugin_test_helper.rb index 6835f23..23c2186 100644 --- a/test/unit/plugin_test_helper.rb +++ b/test/unit/plugin_test_helper.rb @@ -9,7 +9,7 @@ module PluginTestHelper institution.acronym = acronym institution.governmental_power = gov_p institution.governmental_sphere = gov_s - institution.save! + institution.save institution end @@ -20,7 +20,7 @@ module PluginTestHelper institution.name = name institution.sisp = false institution.cnpj = cnpj - institution.save! + institution.save institution end @@ -31,7 +31,7 @@ module PluginTestHelper community.country = country community.state = state community.city = city - community.save! + community.save community end @@ -47,4 +47,13 @@ module PluginTestHelper user end + def create_person name, email, password, password_confirmation, secondary_email, state, city + user = create_user(name.downcase, email, password, password_confirmation, secondary_email) + user.person.name = name + user.person.state = state + user.person.city = city + user.person.save + user.person + end + end diff --git a/test/unit/private_institution_test.rb b/test/unit/private_institution_test.rb index eb6f6ad..ae9581b 100644 --- a/test/unit/private_institution_test.rb +++ b/test/unit/private_institution_test.rb @@ -1,14 +1,10 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' +require File.dirname(__FILE__) + '/plugin_test_helper' class PrivateInstitutionTest < ActiveSupport::TestCase + include PluginTestHelper def setup - community = Community.create(:name => "Simple Private Institution") - @institution = PrivateInstitution::new :name=>"Simple Private Institution", - :cnpj=>"00.000.000/0001-00" - @institution.community = community - @institution.community.country = "BR" - @institution.community.state = "DF" - @institution.community.city = "Gama" + @institution = create_private_institution "Simple Private Institution", "00.000.000/0001-00", "BR", "DF", "Gama" end should "not save without a cnpj" do @@ -20,11 +16,7 @@ class PrivateInstitutionTest < ActiveSupport::TestCase should "not save with a repeated cnpj" do assert @institution.save - - sec_institution = PrivateInstitution::new :name=>"Another Private Institution", - :cnpj=>"00.000.000/0001-00" - sec_institution.community = Community.create(:name => "Another Private Institution") - + sec_institution = create_private_institution "Another Private Institution", "00.000.000/0001-00", "BR", "DF", "Gama" assert !sec_institution.save assert sec_institution.errors.full_messages.include? "Cnpj has already been taken" end diff --git a/test/unit/public_institution_test.rb b/test/unit/public_institution_test.rb index 45e418f..3fba11c 100644 --- a/test/unit/public_institution_test.rb +++ b/test/unit/public_institution_test.rb @@ -1,19 +1,14 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' +require File.dirname(__FILE__) + '/plugin_test_helper' class PublicInstitutionTest < ActiveSupport::TestCase + include PluginTestHelper def setup - govPower = GovernmentalPower.create(:name=>"Some Gov Power") - govSphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") - juriNature = JuridicalNature.create(:name => "Some jurid nature") - community = Community.create(:name => "Simple Public Institution") - - @institution = PublicInstitution::new :name=>"Simple Public Institution", :acronym=>"SPI", - :governmental_power=>govPower, :governmental_sphere=>govSphere, :juridical_nature => juriNature - - @institution.community = community - @institution.community.country = "BR" - @institution.community.state = "DF" - @institution.community.city = "Gama" + @gov_power = GovernmentalPower.create(:name=>"Some Gov Power") + @gov_sphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") + @juridical_nature = JuridicalNature.create(:name => "Autarquia") + + @institution = create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, @gov_power, @gov_sphere) end should "save without a cnpj" do diff --git a/test/unit/search_person_test.rb b/test/unit/search_person_test.rb index 0a69074..502e5be 100644 --- a/test/unit/search_person_test.rb +++ b/test/unit/search_person_test.rb @@ -1,11 +1,13 @@ require File.dirname(__FILE__) + '/../../../../test/test_helper' +require File.dirname(__FILE__) + '/plugin_test_helper' -class SearchPersonTest < ActiveSupport::TestCase +class SearchPersonTest < ActiveSupport::TestCase + include PluginTestHelper def setup - create_person("Jose_Augusto", "DF", "Gama", "jose_augusto@email.com") - create_person("Maria_cunha", "RJ", "Rio de Janeiro", "maria_cunha@email.com") - create_person("Joao_da_silva_costa_cunha", "RJ", "Rio de Janeiro", "joao_da_silva_costa_cunha@gemail.com") + create_person("Jose_Augusto", "jose_augusto@email.com", "aaaaaaa", "aaaaaaa", "jose_silva@email.com", "DF", "Gama") + create_person("Maria_cunha", "maria_cunha@email.com", "aaaaaaa", "aaaaaaa", "maria_silva@email.com" , "RJ", "Rio de Janeiro") + create_person("Joao_da_silva_costa_cunha", "joao_da_silva_costa_cunha@email.com", "aaaaaaa", "aaaaaaa", "joao_cunha@email.com" ,"RJ", "Rio de Janeiro") end should "Find people with Jo in name" do @@ -44,21 +46,4 @@ class SearchPersonTest < ActiveSupport::TestCase assert_equal 1, people_list.count end - def create_person name, state, city, email - user = User::new - user.login = name.downcase - user.email = email - user.secondary_email = "#{name}_secondary@email2.com" - user.password = "adlasdasd" - user.password_confirmation = "adlasdasd" - user.save! - - user.person.name = name - user.person.state = state - user.person.city = city - user.person.save! - - user.save! - end - end \ No newline at end of file -- libgit2 0.21.2