Commit 0279e0af07b9e1274212c82b0d38dcc9f8adfc6b
1 parent
5ebe705c
Exists in
master
and in
5 other branches
Fix unit tests
Signed-off-by: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com> Signed-off-by: Luiz Matos <luizff.matos@gmail.com>
Showing
11 changed files
with
67 additions
and
145 deletions
Show diff stats
lib/institution.rb
@@ -20,28 +20,41 @@ class Institution < ActiveRecord::Base | @@ -20,28 +20,41 @@ class Institution < ActiveRecord::Base | ||
20 | where("name ilike ? OR acronym ilike ?", "%#{value}%", "%#{value}%" ) | 20 | where("name ilike ? OR acronym ilike ?", "%#{value}%", "%#{value}%" ) |
21 | } | 21 | } |
22 | 22 | ||
23 | - validate :validate_country, :validate_state, :validate_city | 23 | + validate :validate_country, :validate_state, :validate_city, :verify_institution_type |
24 | 24 | ||
25 | protected | 25 | protected |
26 | 26 | ||
27 | def verify_institution_type | 27 | def verify_institution_type |
28 | - # valid_institutions_type = ["PublicInstitution", "PrivateInstitution"] | 28 | + valid_institutions_type = ["PublicInstitution", "PrivateInstitution"] |
29 | 29 | ||
30 | - # unless valid_institutions_type.include? self.type | ||
31 | - # self.errors.add(:type, _("invalid, only public and private institutions are allowed.")) | ||
32 | - # false | ||
33 | - # end | 30 | + unless valid_institutions_type.include? self.type |
31 | + self.errors.add(:type, _("invalid, only public and private institutions are allowed.")) | ||
32 | + return false | ||
33 | + end | ||
34 | + return true | ||
34 | end | 35 | end |
35 | 36 | ||
36 | def validate_country | 37 | def validate_country |
37 | - # self.errors.add(:country, _("can't be blank")) if self.community.country.blank? && self.errors[:country].blank? | 38 | + if (self.community.blank?) || self.community.country.blank? && self.errors[:country].blank? |
39 | + self.errors.add(:country, _("can't be blank")) | ||
40 | + return false | ||
41 | + end | ||
42 | + return true | ||
38 | end | 43 | end |
39 | 44 | ||
40 | def validate_state | 45 | def validate_state |
41 | - # self.errors.add(:state, _("can't be blank")) if self.community.state.blank? && self.errors[:state].blank? | 46 | + if (self.community.blank?) || self.errors[:state].blank? && self.community.state.blank? |
47 | + self.errors.add(:state, _("can't be blank")) | ||
48 | + return false | ||
49 | + end | ||
50 | + return true | ||
42 | end | 51 | end |
43 | 52 | ||
44 | def validate_city | 53 | def validate_city |
45 | - # self.errors.add(:city, _("can't be blank")) if self.community.city.blank? && self.errors[:city].blank? | 54 | + if (self.community.blank?) || self.errors[:city].blank? && self.community.city.blank? |
55 | + self.errors.add(:city, _("can't be blank")) | ||
56 | + return false | ||
57 | + end | ||
58 | + return true | ||
46 | end | 59 | end |
47 | end | 60 | end |
test/functional/software_test_helper.rb
@@ -141,7 +141,7 @@ module SoftwareTestHelper | @@ -141,7 +141,7 @@ module SoftwareTestHelper | ||
141 | fields['acronym'] = 'test' | 141 | fields['acronym'] = 'test' |
142 | fields['objectives'] = 'test' | 142 | fields['objectives'] = 'test' |
143 | fields['features'] = 'test' | 143 | fields['features'] = 'test' |
144 | - fields['operating_platform'] = 'operating_plataform_test' | 144 | + fields['operating_platform'] = 'operating_platform_test' |
145 | fields['demonstration_url'] = 'test' | 145 | fields['demonstration_url'] = 'test' |
146 | 146 | ||
147 | fields_categories = {} | 147 | fields_categories = {} |
test/unit/institution_test.rb
1 | require File.dirname(__FILE__) + '/../../../../test/test_helper' | 1 | require File.dirname(__FILE__) + '/../../../../test/test_helper' |
2 | +require File.dirname(__FILE__) + '/plugin_test_helper' | ||
2 | 3 | ||
3 | class InstitutionTest < ActiveSupport::TestCase | 4 | class InstitutionTest < ActiveSupport::TestCase |
4 | - | 5 | + include PluginTestHelper |
5 | def setup | 6 | def setup |
6 | - community = Community.create(:name => "Simple Public Institution") | ||
7 | - | ||
8 | - @institution = Institution::new :name=>"Simple Institution" | 7 | + @gov_power = GovernmentalPower.create(:name=>"Some Gov Power") |
8 | + @gov_sphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") | ||
9 | + @juridical_nature = JuridicalNature.create(:name => "Autarquia") | ||
9 | 10 | ||
10 | - @institution.community = community | ||
11 | - @institution.community.country = "BR" | ||
12 | - @institution.community.state = "DF" | ||
13 | - @institution.community.city = "Gama" | 11 | + @institution = create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, @gov_power, @gov_sphere) |
14 | end | 12 | end |
15 | 13 | ||
16 | should "not save institutions without name" do | 14 | should "not save institutions without name" do |
test/unit/juridical_nature_test.rb
@@ -20,24 +20,4 @@ class JuridicalNatureTest < ActiveSupport::TestCase | @@ -20,24 +20,4 @@ class JuridicalNatureTest < ActiveSupport::TestCase | ||
20 | create_public_institution("Tribunal Regional da Uniao", "TRU", "BR", "DF", "Brasilia", juridical_nature, @govPower, @govSphere) | 20 | create_public_institution("Tribunal Regional da Uniao", "TRU", "BR", "DF", "Brasilia", juridical_nature, @govPower, @govSphere) |
21 | assert juridical_nature.public_institutions.count == PublicInstitution.count | 21 | assert juridical_nature.public_institutions.count == PublicInstitution.count |
22 | end | 22 | end |
23 | - | ||
24 | - private | ||
25 | - | ||
26 | - def build_institution name, type="PublicInstitution", cnpj=nil | ||
27 | - institution = Institution::new | ||
28 | - institution.name = name | ||
29 | - institution.type = type | ||
30 | - institution.cnpj = cnpj | ||
31 | - | ||
32 | - institution.community = Community.create(:name => "Simple Public Institution") | ||
33 | - institution.community.country = "BR" | ||
34 | - institution.community.state = "DF" | ||
35 | - institution.community.city = "Gama" | ||
36 | - | ||
37 | - if type == "PublicInstitution" | ||
38 | - institution.juridical_nature = JuridicalNature.first | ||
39 | - end | ||
40 | - | ||
41 | - end | ||
42 | - | ||
43 | end | 23 | end |
test/unit/mpog_software_plugin_test.rb
@@ -6,7 +6,7 @@ class MpogSoftwarePluginTest < ActiveSupport::TestCase | @@ -6,7 +6,7 @@ class MpogSoftwarePluginTest < ActiveSupport::TestCase | ||
6 | 6 | ||
7 | def setup | 7 | def setup |
8 | @plugin = MpogSoftwarePlugin.new | 8 | @plugin = MpogSoftwarePlugin.new |
9 | - @user = create_user | 9 | + @user = create_user("login", "user@email.com", "123456", "123456", "user@secondary_email.com") |
10 | @person = @user.person | 10 | @person = @user.person |
11 | end | 11 | end |
12 | 12 | ||
@@ -33,18 +33,4 @@ class MpogSoftwarePluginTest < ActiveSupport::TestCase | @@ -33,18 +33,4 @@ class MpogSoftwarePluginTest < ActiveSupport::TestCase | ||
33 | 33 | ||
34 | assert_equal(test_percentege, plugin_percentege) | 34 | assert_equal(test_percentege, plugin_percentege) |
35 | end | 35 | end |
36 | - | ||
37 | - private | ||
38 | - | ||
39 | - def create_user | ||
40 | - user = User.new | ||
41 | - user.login = "login" | ||
42 | - user.email = "user@email.com" | ||
43 | - user.password = "123456" | ||
44 | - user.password_confirmation = "123456" | ||
45 | - user.secondary_email = "user@secondary_email.com" | ||
46 | - user.save | ||
47 | - user.person.save | ||
48 | - user | ||
49 | - end | ||
50 | end | 36 | end |
test/unit/mpog_user_test.rb
1 | require File.dirname(__FILE__) + '/../../../../test/test_helper' | 1 | require File.dirname(__FILE__) + '/../../../../test/test_helper' |
2 | +require File.dirname(__FILE__) + '/plugin_test_helper' | ||
2 | 3 | ||
3 | class MpogSoftwarePluginUserTest < ActiveSupport::TestCase | 4 | class MpogSoftwarePluginUserTest < ActiveSupport::TestCase |
5 | + include PluginTestHelper | ||
4 | 6 | ||
5 | should 'not save user whose both email and secondary email are the same' do | 7 | should 'not save user whose both email and secondary email are the same' do |
6 | 8 | ||
@@ -95,13 +97,16 @@ class MpogSoftwarePluginUserTest < ActiveSupport::TestCase | @@ -95,13 +97,16 @@ class MpogSoftwarePluginUserTest < ActiveSupport::TestCase | ||
95 | should 'have institution if email is governmental' do | 97 | should 'have institution if email is governmental' do |
96 | user = fast_create(User) | 98 | user = fast_create(User) |
97 | 99 | ||
98 | - user.email = "test@gov.br" | 100 | + user.email = "testtest@gov.br" |
99 | 101 | ||
100 | user.institutions = [] | 102 | user.institutions = [] |
101 | assert !user.save, "this should not save" | 103 | assert !user.save, "this should not save" |
102 | 104 | ||
103 | - institution = build_institution "Test simple institution" | ||
104 | - institution.save | 105 | + gov_power = GovernmentalPower.create(:name=>"Some Gov Power") |
106 | + gov_sphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") | ||
107 | + juridical_nature = JuridicalNature.create(:name => "Autarquia") | ||
108 | + institution = create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", juridical_nature, gov_power, gov_sphere) | ||
109 | + institution.save! | ||
105 | 110 | ||
106 | user.institutions << institution | 111 | user.institutions << institution |
107 | assert user.save, "this should save" | 112 | assert user.save, "this should save" |
@@ -119,21 +124,4 @@ class MpogSoftwarePluginUserTest < ActiveSupport::TestCase | @@ -119,21 +124,4 @@ class MpogSoftwarePluginUserTest < ActiveSupport::TestCase | ||
119 | return user | 124 | return user |
120 | end | 125 | end |
121 | 126 | ||
122 | - def build_institution name, type="PublicInstitution", cnpj=nil | ||
123 | - institution = Institution::new | ||
124 | - institution.name = name | ||
125 | - institution.type = type | ||
126 | - institution.cnpj = cnpj | ||
127 | - | ||
128 | - institution.community = Community.create(:name => name) | ||
129 | - institution.community.country = "BR" | ||
130 | - institution.community.state = "DF" | ||
131 | - institution.community.city = "Gama" | ||
132 | - | ||
133 | - if type == "PublicInstitution" | ||
134 | - institution.juridical_nature = JuridicalNature.first | ||
135 | - end | ||
136 | - | ||
137 | - institution | ||
138 | - end | ||
139 | end | 127 | end |
test/unit/mpog_validation_test.rb
@@ -7,11 +7,7 @@ class MpogSoftwarePluginValidationTest < ActiveSupport::TestCase | @@ -7,11 +7,7 @@ class MpogSoftwarePluginValidationTest < ActiveSupport::TestCase | ||
7 | def setup | 7 | def setup |
8 | @plugin = MpogSoftwarePlugin.new | 8 | @plugin = MpogSoftwarePlugin.new |
9 | 9 | ||
10 | - institution = build_institution("Test institution") | ||
11 | - institution.save | ||
12 | - | ||
13 | @user = fast_create(User) | 10 | @user = fast_create(User) |
14 | - @user.institutions << institution | ||
15 | end | 11 | end |
16 | 12 | ||
17 | def teardown | 13 | def teardown |
@@ -29,24 +25,4 @@ class MpogSoftwarePluginValidationTest < ActiveSupport::TestCase | @@ -29,24 +25,4 @@ class MpogSoftwarePluginValidationTest < ActiveSupport::TestCase | ||
29 | @user.email = "test_email@net.br" | 25 | @user.email = "test_email@net.br" |
30 | assert @user.save | 26 | assert @user.save |
31 | end | 27 | end |
32 | - | ||
33 | - private | ||
34 | - | ||
35 | - def build_institution name, type="PublicInstitution", cnpj=nil | ||
36 | - institution = Institution::new | ||
37 | - institution.name = name | ||
38 | - institution.type = type | ||
39 | - institution.cnpj = cnpj | ||
40 | - | ||
41 | - institution.community = Community.create(:name => "Simple Public Institution") | ||
42 | - institution.community.country = "BR" | ||
43 | - institution.community.state = "DF" | ||
44 | - institution.community.city = "Gama" | ||
45 | - | ||
46 | - if type == "PublicInstitution" | ||
47 | - institution.juridical_nature = JuridicalNature.first | ||
48 | - end | ||
49 | - | ||
50 | - institution | ||
51 | - end | ||
52 | end | 28 | end |
test/unit/plugin_test_helper.rb
@@ -9,7 +9,7 @@ module PluginTestHelper | @@ -9,7 +9,7 @@ module PluginTestHelper | ||
9 | institution.acronym = acronym | 9 | institution.acronym = acronym |
10 | institution.governmental_power = gov_p | 10 | institution.governmental_power = gov_p |
11 | institution.governmental_sphere = gov_s | 11 | institution.governmental_sphere = gov_s |
12 | - institution.save! | 12 | + institution.save |
13 | 13 | ||
14 | institution | 14 | institution |
15 | end | 15 | end |
@@ -20,7 +20,7 @@ module PluginTestHelper | @@ -20,7 +20,7 @@ module PluginTestHelper | ||
20 | institution.name = name | 20 | institution.name = name |
21 | institution.sisp = false | 21 | institution.sisp = false |
22 | institution.cnpj = cnpj | 22 | institution.cnpj = cnpj |
23 | - institution.save! | 23 | + institution.save |
24 | 24 | ||
25 | institution | 25 | institution |
26 | end | 26 | end |
@@ -31,7 +31,7 @@ module PluginTestHelper | @@ -31,7 +31,7 @@ module PluginTestHelper | ||
31 | community.country = country | 31 | community.country = country |
32 | community.state = state | 32 | community.state = state |
33 | community.city = city | 33 | community.city = city |
34 | - community.save! | 34 | + community.save |
35 | community | 35 | community |
36 | end | 36 | end |
37 | 37 | ||
@@ -47,4 +47,13 @@ module PluginTestHelper | @@ -47,4 +47,13 @@ module PluginTestHelper | ||
47 | user | 47 | user |
48 | end | 48 | end |
49 | 49 | ||
50 | + def create_person name, email, password, password_confirmation, secondary_email, state, city | ||
51 | + user = create_user(name.downcase, email, password, password_confirmation, secondary_email) | ||
52 | + user.person.name = name | ||
53 | + user.person.state = state | ||
54 | + user.person.city = city | ||
55 | + user.person.save | ||
56 | + user.person | ||
57 | + end | ||
58 | + | ||
50 | end | 59 | end |
test/unit/private_institution_test.rb
1 | require File.dirname(__FILE__) + '/../../../../test/test_helper' | 1 | require File.dirname(__FILE__) + '/../../../../test/test_helper' |
2 | +require File.dirname(__FILE__) + '/plugin_test_helper' | ||
2 | 3 | ||
3 | class PrivateInstitutionTest < ActiveSupport::TestCase | 4 | class PrivateInstitutionTest < ActiveSupport::TestCase |
5 | + include PluginTestHelper | ||
4 | def setup | 6 | def setup |
5 | - community = Community.create(:name => "Simple Private Institution") | ||
6 | - @institution = PrivateInstitution::new :name=>"Simple Private Institution", | ||
7 | - :cnpj=>"00.000.000/0001-00" | ||
8 | - @institution.community = community | ||
9 | - @institution.community.country = "BR" | ||
10 | - @institution.community.state = "DF" | ||
11 | - @institution.community.city = "Gama" | 7 | + @institution = create_private_institution "Simple Private Institution", "00.000.000/0001-00", "BR", "DF", "Gama" |
12 | end | 8 | end |
13 | 9 | ||
14 | should "not save without a cnpj" do | 10 | should "not save without a cnpj" do |
@@ -20,11 +16,7 @@ class PrivateInstitutionTest < ActiveSupport::TestCase | @@ -20,11 +16,7 @@ class PrivateInstitutionTest < ActiveSupport::TestCase | ||
20 | 16 | ||
21 | should "not save with a repeated cnpj" do | 17 | should "not save with a repeated cnpj" do |
22 | assert @institution.save | 18 | assert @institution.save |
23 | - | ||
24 | - sec_institution = PrivateInstitution::new :name=>"Another Private Institution", | ||
25 | - :cnpj=>"00.000.000/0001-00" | ||
26 | - sec_institution.community = Community.create(:name => "Another Private Institution") | ||
27 | - | 19 | + sec_institution = create_private_institution "Another Private Institution", "00.000.000/0001-00", "BR", "DF", "Gama" |
28 | assert !sec_institution.save | 20 | assert !sec_institution.save |
29 | assert sec_institution.errors.full_messages.include? "Cnpj has already been taken" | 21 | assert sec_institution.errors.full_messages.include? "Cnpj has already been taken" |
30 | end | 22 | end |
test/unit/public_institution_test.rb
1 | require File.dirname(__FILE__) + '/../../../../test/test_helper' | 1 | require File.dirname(__FILE__) + '/../../../../test/test_helper' |
2 | +require File.dirname(__FILE__) + '/plugin_test_helper' | ||
2 | 3 | ||
3 | class PublicInstitutionTest < ActiveSupport::TestCase | 4 | class PublicInstitutionTest < ActiveSupport::TestCase |
5 | + include PluginTestHelper | ||
4 | def setup | 6 | def setup |
5 | - govPower = GovernmentalPower.create(:name=>"Some Gov Power") | ||
6 | - govSphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") | ||
7 | - juriNature = JuridicalNature.create(:name => "Some jurid nature") | ||
8 | - community = Community.create(:name => "Simple Public Institution") | ||
9 | - | ||
10 | - @institution = PublicInstitution::new :name=>"Simple Public Institution", :acronym=>"SPI", | ||
11 | - :governmental_power=>govPower, :governmental_sphere=>govSphere, :juridical_nature => juriNature | ||
12 | - | ||
13 | - @institution.community = community | ||
14 | - @institution.community.country = "BR" | ||
15 | - @institution.community.state = "DF" | ||
16 | - @institution.community.city = "Gama" | 7 | + @gov_power = GovernmentalPower.create(:name=>"Some Gov Power") |
8 | + @gov_sphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") | ||
9 | + @juridical_nature = JuridicalNature.create(:name => "Autarquia") | ||
10 | + | ||
11 | + @institution = create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, @gov_power, @gov_sphere) | ||
17 | end | 12 | end |
18 | 13 | ||
19 | should "save without a cnpj" do | 14 | should "save without a cnpj" do |
test/unit/search_person_test.rb
1 | require File.dirname(__FILE__) + '/../../../../test/test_helper' | 1 | require File.dirname(__FILE__) + '/../../../../test/test_helper' |
2 | +require File.dirname(__FILE__) + '/plugin_test_helper' | ||
2 | 3 | ||
3 | -class SearchPersonTest < ActiveSupport::TestCase | ||
4 | 4 | ||
5 | +class SearchPersonTest < ActiveSupport::TestCase | ||
6 | + include PluginTestHelper | ||
5 | def setup | 7 | def setup |
6 | - create_person("Jose_Augusto", "DF", "Gama", "jose_augusto@email.com") | ||
7 | - create_person("Maria_cunha", "RJ", "Rio de Janeiro", "maria_cunha@email.com") | ||
8 | - create_person("Joao_da_silva_costa_cunha", "RJ", "Rio de Janeiro", "joao_da_silva_costa_cunha@gemail.com") | 8 | + create_person("Jose_Augusto", "jose_augusto@email.com", "aaaaaaa", "aaaaaaa", "jose_silva@email.com", "DF", "Gama") |
9 | + create_person("Maria_cunha", "maria_cunha@email.com", "aaaaaaa", "aaaaaaa", "maria_silva@email.com" , "RJ", "Rio de Janeiro") | ||
10 | + create_person("Joao_da_silva_costa_cunha", "joao_da_silva_costa_cunha@email.com", "aaaaaaa", "aaaaaaa", "joao_cunha@email.com" ,"RJ", "Rio de Janeiro") | ||
9 | end | 11 | end |
10 | 12 | ||
11 | should "Find people with Jo in name" do | 13 | should "Find people with Jo in name" do |
@@ -44,21 +46,4 @@ class SearchPersonTest < ActiveSupport::TestCase | @@ -44,21 +46,4 @@ class SearchPersonTest < ActiveSupport::TestCase | ||
44 | assert_equal 1, people_list.count | 46 | assert_equal 1, people_list.count |
45 | end | 47 | end |
46 | 48 | ||
47 | - def create_person name, state, city, email | ||
48 | - user = User::new | ||
49 | - user.login = name.downcase | ||
50 | - user.email = email | ||
51 | - user.secondary_email = "#{name}_secondary@email2.com" | ||
52 | - user.password = "adlasdasd" | ||
53 | - user.password_confirmation = "adlasdasd" | ||
54 | - user.save! | ||
55 | - | ||
56 | - user.person.name = name | ||
57 | - user.person.state = state | ||
58 | - user.person.city = city | ||
59 | - user.person.save! | ||
60 | - | ||
61 | - user.save! | ||
62 | - end | ||
63 | - | ||
64 | end | 49 | end |
65 | \ No newline at end of file | 50 | \ No newline at end of file |