Commit 5255150fd38ebdf3bb0feae59d516141367bf72b
Committed by
Gabriela Navarro
1 parent
37d8ade7
Exists in
master
and in
79 other branches
fix_institution: Fix unit and some functional tests
Signed-off-by: Fabio Teixeira <fabio1079@gmail.com> Signed-off-by: Gabriela Navarro <navarro1703@gmail.com>
Showing
20 changed files
with
258 additions
and
214 deletions
Show diff stats
lib/software_database.rb
@@ -8,4 +8,6 @@ class SoftwareDatabase < ActiveRecord::Base | @@ -8,4 +8,6 @@ class SoftwareDatabase < ActiveRecord::Base | ||
8 | validates_length_of :operating_system, maximum: 20, too_long: _("Software database is too long (maximum is 20 characters)") | 8 | validates_length_of :operating_system, maximum: 20, too_long: _("Software database is too long (maximum is 20 characters)") |
9 | 9 | ||
10 | validates_presence_of :database_description_id, :version, :operating_system | 10 | validates_presence_of :database_description_id, :version, :operating_system |
11 | + validates :database_description_id, :numericality => { :greater_than_or_equal_to => 1 } | ||
12 | + | ||
11 | end | 13 | end |
test/functional/institution_test_helper.rb
@@ -22,15 +22,8 @@ module InstitutionTestHelper | @@ -22,15 +22,8 @@ module InstitutionTestHelper | ||
22 | end | 22 | end |
23 | 23 | ||
24 | def self.create_public_institution name, acronym, country, state, city, juridical_nature, gov_p, gov_s, cnpj | 24 | def self.create_public_institution name, acronym, country, state, city, juridical_nature, gov_p, gov_s, cnpj |
25 | - institution_community = Community::new | ||
26 | - institution_community.name = name | ||
27 | - institution_community.country = country | ||
28 | - institution_community.state = state | ||
29 | - institution_community.city = city | ||
30 | - institution_community.save! | ||
31 | - | ||
32 | institution = PublicInstitution.new | 25 | institution = PublicInstitution.new |
33 | - institution.community = institution_community | 26 | + institution.community = institution_community(name, country, state, city) |
34 | institution.name = name | 27 | institution.name = name |
35 | institution.juridical_nature = juridical_nature | 28 | institution.juridical_nature = juridical_nature |
36 | institution.acronym = acronym | 29 | institution.acronym = acronym |
@@ -41,4 +34,26 @@ module InstitutionTestHelper | @@ -41,4 +34,26 @@ module InstitutionTestHelper | ||
41 | institution.save! | 34 | institution.save! |
42 | institution | 35 | institution |
43 | end | 36 | end |
37 | + | ||
38 | + def self.create_private_institution name, acronym, country, state, city, cnpj | ||
39 | + institution = PrivateInstitution.new | ||
40 | + institution.community = institution_community(name, country, state, city) | ||
41 | + institution.name = name | ||
42 | + institution.acronym = acronym | ||
43 | + institution.cnpj = cnpj | ||
44 | + institution.corporate_name = "corporate default" | ||
45 | + institution.save! | ||
46 | + | ||
47 | + institution | ||
48 | + end | ||
49 | + | ||
50 | + def self.institution_community name, country, state, city | ||
51 | + institution_community = Community::new | ||
52 | + institution_community.name = name | ||
53 | + institution_community.country = country | ||
54 | + institution_community.state = state | ||
55 | + institution_community.city = city | ||
56 | + institution_community.save! | ||
57 | + institution_community | ||
58 | + end | ||
44 | end | 59 | end |
45 | \ No newline at end of file | 60 | \ No newline at end of file |
test/functional/mpog_software_plugin_controller_test.rb
1 | require File.dirname(__FILE__) + '/../../../../test/test_helper' | 1 | require File.dirname(__FILE__) + '/../../../../test/test_helper' |
2 | -require File.dirname(__FILE__) + '/institution_test_helper' | 2 | +require File.dirname(__FILE__) + '/../helpers/institution_test_helper' |
3 | require File.dirname(__FILE__) + '/../../controllers/mpog_software_plugin_controller' | 3 | require File.dirname(__FILE__) + '/../../controllers/mpog_software_plugin_controller' |
4 | 4 | ||
5 | class MpogSoftwarePluginController; def rescue_action(e) raise e end; end | 5 | class MpogSoftwarePluginController; def rescue_action(e) raise e end; end |
test/functional/mpog_software_plugin_myprofile_controller_test.rb
1 | require File.dirname(__FILE__) + '/../../../../test/test_helper' | 1 | require File.dirname(__FILE__) + '/../../../../test/test_helper' |
2 | require File.dirname(__FILE__) + '/../../controllers/mpog_software_plugin_myprofile_controller' | 2 | require File.dirname(__FILE__) + '/../../controllers/mpog_software_plugin_myprofile_controller' |
3 | require File.dirname(__FILE__) + '/software_test_helper' | 3 | require File.dirname(__FILE__) + '/software_test_helper' |
4 | -require File.dirname(__FILE__) + '/institution_test_helper' | 4 | +require File.dirname(__FILE__) + '/../helpers/institution_test_helper' |
5 | 5 | ||
6 | class MpogSoftwarePluginMyprofileController; def rescue_action(e) raise e end; | 6 | class MpogSoftwarePluginMyprofileController; def rescue_action(e) raise e end; |
7 | end | 7 | end |
test/functional/profile_editor_controller_test.rb
1 | require File.dirname(__FILE__) + '/../../../../test/test_helper' | 1 | require File.dirname(__FILE__) + '/../../../../test/test_helper' |
2 | -require File.dirname(__FILE__) + '/institution_test_helper' | 2 | +require File.dirname(__FILE__) + '/../helpers/institution_test_helper' |
3 | require File.dirname(__FILE__) + '/../../../../app/controllers/my_profile/profile_editor_controller' | 3 | require File.dirname(__FILE__) + '/../../../../app/controllers/my_profile/profile_editor_controller' |
4 | 4 | ||
5 | class ProfileEditorController; def rescue_action(e) raise e end; end | 5 | class ProfileEditorController; def rescue_action(e) raise e end; end |
@@ -0,0 +1,59 @@ | @@ -0,0 +1,59 @@ | ||
1 | +module InstitutionTestHelper | ||
2 | + | ||
3 | + def self.generate_form_fields name, country, state, city, cnpj, type | ||
4 | + fields = { | ||
5 | + :community => { | ||
6 | + :name => name, | ||
7 | + :country => country, | ||
8 | + :state => state, | ||
9 | + :city => city | ||
10 | + }, | ||
11 | + :institutions => { | ||
12 | + :cnpj=> cnpj, | ||
13 | + :type => type, | ||
14 | + :acronym => "", | ||
15 | + :governmental_power => "", | ||
16 | + :governmental_sphere => "", | ||
17 | + :juridical_nature => "", | ||
18 | + :corporate_name => "coporate default" | ||
19 | + } | ||
20 | + } | ||
21 | + fields | ||
22 | + end | ||
23 | + | ||
24 | + def self.create_public_institution name, acronym, country, state, city, juridical_nature, gov_p, gov_s, cnpj | ||
25 | + institution = PublicInstitution.new | ||
26 | + institution.community = institution_community(name, country, state, city) | ||
27 | + institution.name = name | ||
28 | + institution.juridical_nature = juridical_nature | ||
29 | + institution.acronym = acronym | ||
30 | + institution.governmental_power = gov_p | ||
31 | + institution.governmental_sphere = gov_s | ||
32 | + institution.cnpj = cnpj | ||
33 | + institution.corporate_name = "corporate default" | ||
34 | + institution.save | ||
35 | + institution | ||
36 | + end | ||
37 | + | ||
38 | + def self.create_private_institution name, acronym, country, state, city, cnpj | ||
39 | + institution = PrivateInstitution.new | ||
40 | + institution.community = institution_community(name, country, state, city) | ||
41 | + institution.name = name | ||
42 | + institution.acronym = acronym | ||
43 | + institution.cnpj = cnpj | ||
44 | + institution.corporate_name = "corporate default" | ||
45 | + institution.save | ||
46 | + | ||
47 | + institution | ||
48 | + end | ||
49 | + | ||
50 | + def self.institution_community name, country, state, city | ||
51 | + institution_community = Community::new | ||
52 | + institution_community.name = name | ||
53 | + institution_community.country = country | ||
54 | + institution_community.state = state | ||
55 | + institution_community.city = city | ||
56 | + institution_community.save | ||
57 | + institution_community | ||
58 | + end | ||
59 | +end | ||
0 | \ No newline at end of file | 60 | \ No newline at end of file |
test/unit/communities_block_test.rb
1 | require File.dirname(__FILE__) + '/../../../../test/test_helper' | 1 | require File.dirname(__FILE__) + '/../../../../test/test_helper' |
2 | +require File.dirname(__FILE__) + '/../helpers/institution_test_helper' | ||
2 | require File.dirname(__FILE__) + '/plugin_test_helper' | 3 | require File.dirname(__FILE__) + '/plugin_test_helper' |
3 | 4 | ||
4 | class CommunitiesBlockTest < ActiveSupport::TestCase | 5 | class CommunitiesBlockTest < ActiveSupport::TestCase |
@@ -10,7 +11,7 @@ class CommunitiesBlockTest < ActiveSupport::TestCase | @@ -10,7 +11,7 @@ class CommunitiesBlockTest < ActiveSupport::TestCase | ||
10 | @gov_sphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") | 11 | @gov_sphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") |
11 | @juridical_nature = JuridicalNature.create(:name => "Autarquia") | 12 | @juridical_nature = JuridicalNature.create(:name => "Autarquia") |
12 | 13 | ||
13 | - @institution = create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, @gov_power, @gov_sphere) | 14 | + @institution = InstitutionTestHelper.create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, @gov_power, @gov_sphere, "12.345.678/9012-45") |
14 | @institution.community.add_member(@person) | 15 | @institution.community.add_member(@person) |
15 | 16 | ||
16 | @software_info = create_software_info("Novo Software") | 17 | @software_info = create_software_info("Novo Software") |
test/unit/database_helper_test.rb
@@ -11,12 +11,12 @@ class DatabaseHelperTest < ActiveSupport::TestCase | @@ -11,12 +11,12 @@ class DatabaseHelperTest < ActiveSupport::TestCase | ||
11 | @database_objects = [ | 11 | @database_objects = [ |
12 | {:database_description_id => dd1.id.to_s ,:version => "2.0", :operating_system => "debian"}, | 12 | {:database_description_id => dd1.id.to_s ,:version => "2.0", :operating_system => "debian"}, |
13 | {:database_description_id => dd2.id.to_s ,:version => "2.1", :operating_system => "debian"}, | 13 | {:database_description_id => dd2.id.to_s ,:version => "2.1", :operating_system => "debian"}, |
14 | - {:database_description_id => dd1.id.to_s ,:version => "2.2", :operating_system => "debian"}] | ||
15 | - @database_objects | 14 | + ] |
16 | end | 15 | end |
17 | 16 | ||
18 | def teardown | 17 | def teardown |
19 | @database_objects = nil | 18 | @database_objects = nil |
19 | + SoftwareDatabase.destroy_all | ||
20 | DatabaseDescription.destroy_all | 20 | DatabaseDescription.destroy_all |
21 | end | 21 | end |
22 | 22 | ||
@@ -70,7 +70,6 @@ class DatabaseHelperTest < ActiveSupport::TestCase | @@ -70,7 +70,6 @@ class DatabaseHelperTest < ActiveSupport::TestCase | ||
70 | 70 | ||
71 | database_objects_length = @database_objects.count | 71 | database_objects_length = @database_objects.count |
72 | list_compare = DatabaseHelper.list_database(@database_objects) | 72 | list_compare = DatabaseHelper.list_database(@database_objects) |
73 | - | ||
74 | - assert_equal database_objects_length-1, list_compare.count | 73 | + assert_equal list_compare.count, database_objects_length-1 |
75 | end | 74 | end |
76 | end | 75 | end |
test/unit/database_validation_test.rb
@@ -13,6 +13,8 @@ class DatabaseValidationTest < ActiveSupport::TestCase | @@ -13,6 +13,8 @@ class DatabaseValidationTest < ActiveSupport::TestCase | ||
13 | 13 | ||
14 | def teardown | 14 | def teardown |
15 | @database = nil | 15 | @database = nil |
16 | + DatabaseDescription.destroy_all | ||
17 | + SoftwareDatabase.destroy_all | ||
16 | end | 18 | end |
17 | 19 | ||
18 | should "Save database if all fields are filled" do | 20 | should "Save database if all fields are filled" do |
test/unit/governmental_power_test.rb
1 | require File.dirname(__FILE__) + '/../../../../test/test_helper' | 1 | require File.dirname(__FILE__) + '/../../../../test/test_helper' |
2 | +require File.dirname(__FILE__) + '/../helpers/institution_test_helper' | ||
2 | 3 | ||
3 | class GovernmentalPowerTest < ActiveSupport::TestCase | 4 | class GovernmentalPowerTest < ActiveSupport::TestCase |
5 | + | ||
6 | + def setup | ||
7 | + @gov_sphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") | ||
8 | + @juridical_nature = JuridicalNature.create(:name => "Autarquia") | ||
9 | + end | ||
10 | + | ||
4 | def teardown | 11 | def teardown |
5 | Institution.destroy_all | 12 | Institution.destroy_all |
6 | end | 13 | end |
7 | 14 | ||
8 | should "get public institutions" do | 15 | should "get public institutions" do |
9 | gov_power = GovernmentalPower::new :name=>"Some gov power" | 16 | gov_power = GovernmentalPower::new :name=>"Some gov power" |
17 | + InstitutionTestHelper.create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, gov_power, @gov_sphere, "12.345.678/9012-45") | ||
10 | 18 | ||
11 | - assert build_institution("one").save | ||
12 | - assert build_institution("two").save | ||
13 | - assert build_institution("three").save | ||
14 | - | ||
15 | - assert gov_power.public_institutions.count == PublicInstitution.count | ||
16 | - end | ||
17 | - | ||
18 | - should "not get private institutions" do | ||
19 | - gov_power = GovernmentalPower::new :name=>"Some gov power" | ||
20 | - | ||
21 | - assert build_institution("one", "PrivateInstitution", "00.000.000/0000-00").save | ||
22 | - assert build_institution("two","PrivateInstitution", "00.000.000/0000-01").save | ||
23 | - assert build_institution("three","PrivateInstitution", "00.000.000/0000-02").save | ||
24 | - | ||
25 | - assert gov_power.public_institutions.count == 0 | ||
26 | - assert gov_power.public_institutions.count == PublicInstitution.count | ||
27 | - assert gov_power.public_institutions.count != PrivateInstitution.count | ||
28 | - end | ||
29 | - | ||
30 | - private | ||
31 | - | ||
32 | - def build_institution name, type="PublicInstitution", cnpj=nil | ||
33 | - institution = Institution::new | ||
34 | - institution.name = name | ||
35 | - institution.type = type | ||
36 | - institution.cnpj = cnpj | ||
37 | - | ||
38 | - institution.community = Community.create(:name => "Simple Public Institution") | ||
39 | - institution.community.country = "BR" | ||
40 | - institution.community.state = "DF" | ||
41 | - institution.community.city = "Gama" | ||
42 | - | ||
43 | - if type == "PublicInstitution" | ||
44 | - institution.governmental_power = GovernmentalPower.first | ||
45 | - institution.governmental_sphere = GovernmentalSphere.first | ||
46 | - end | ||
47 | - | ||
48 | - institution | 19 | + assert_equal gov_power.public_institutions.count, PublicInstitution.count |
49 | end | 20 | end |
50 | end | 21 | end |
51 | \ No newline at end of file | 22 | \ No newline at end of file |
test/unit/institution_test.rb
@@ -8,7 +8,7 @@ class InstitutionTest < ActiveSupport::TestCase | @@ -8,7 +8,7 @@ class InstitutionTest < ActiveSupport::TestCase | ||
8 | @gov_sphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") | 8 | @gov_sphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") |
9 | @juridical_nature = JuridicalNature.create(:name => "Autarquia") | 9 | @juridical_nature = JuridicalNature.create(:name => "Autarquia") |
10 | 10 | ||
11 | - @institution = create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, @gov_power, @gov_sphere) | 11 | + @institution = create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, @gov_power, @gov_sphere, "11.222.333/4444-55") |
12 | end | 12 | end |
13 | 13 | ||
14 | should "not save institutions without name" do | 14 | should "not save institutions without name" do |
test/unit/institutions_block_test.rb
@@ -25,7 +25,7 @@ class InstitutionsBlockTest < ActiveSupport::TestCase | @@ -25,7 +25,7 @@ class InstitutionsBlockTest < ActiveSupport::TestCase | ||
25 | should 'list institutions' do | 25 | should 'list institutions' do |
26 | user = create_person("Jose_Augusto", "jose_augusto@email.com", "aaaaaaa", "aaaaaaa", "jose_silva@email.com", "DF", "Gama") | 26 | user = create_person("Jose_Augusto", "jose_augusto@email.com", "aaaaaaa", "aaaaaaa", "jose_silva@email.com", "DF", "Gama") |
27 | 27 | ||
28 | - institution = create_private_institution "inst", "00000000000000", "country", "state", "city" | 28 | + institution = create_private_institution "inst name", "IN", "country", "state", "city", "00.111.222/3333-44" |
29 | institution.community.add_member(user) | 29 | institution.community.add_member(user) |
30 | 30 | ||
31 | block = InstitutionsBlock.new | 31 | block = InstitutionsBlock.new |
test/unit/juridical_nature_test.rb
@@ -16,8 +16,8 @@ class JuridicalNatureTest < ActiveSupport::TestCase | @@ -16,8 +16,8 @@ class JuridicalNatureTest < ActiveSupport::TestCase | ||
16 | 16 | ||
17 | should "get public institutions" do | 17 | should "get public institutions" do |
18 | juridical_nature = JuridicalNature.create(:name => "Autarquia") | 18 | juridical_nature = JuridicalNature.create(:name => "Autarquia") |
19 | - create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", juridical_nature, @govPower, @govSphere) | ||
20 | - create_public_institution("Tribunal Regional da Uniao", "TRU", "BR", "DF", "Brasilia", juridical_nature, @govPower, @govSphere) | 19 | + create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", juridical_nature, @govPower, @govSphere, "22.333.444/5555-66") |
20 | + create_public_institution("Tribunal Regional da Uniao", "TRU", "BR", "DF", "Brasilia", juridical_nature, @govPower, @govSphere, "22.333.444/5555-77") | ||
21 | assert juridical_nature.public_institutions.count == PublicInstitution.count | 21 | assert juridical_nature.public_institutions.count == PublicInstitution.count |
22 | end | 22 | end |
23 | end | 23 | end |
@@ -0,0 +1,127 @@ | @@ -0,0 +1,127 @@ | ||
1 | +require File.dirname(__FILE__) + '/../../../../test/test_helper' | ||
2 | +require File.dirname(__FILE__) + '/plugin_test_helper' | ||
3 | + | ||
4 | +class MpogSoftwarePluginUserTest < ActiveSupport::TestCase | ||
5 | + include PluginTestHelper | ||
6 | + | ||
7 | + should 'not save user whose both email and secondary email are the same' do | ||
8 | + | ||
9 | + user = fast_create(User) | ||
10 | + user.email = "test@email.com" | ||
11 | + user.secondary_email = "test@email.com" | ||
12 | + | ||
13 | + assert !user.save | ||
14 | + end | ||
15 | + | ||
16 | + should 'not save user whose both email and secondary email have already been used' do | ||
17 | + user1 = create_default_user | ||
18 | + user2 = fast_create(User) | ||
19 | + | ||
20 | + user2.email = "primary@email.com" | ||
21 | + user2.secondary_email = "secondary@email.com" | ||
22 | + assert !user2.save | ||
23 | + end | ||
24 | + | ||
25 | + should 'not save user whose email has already been used' do | ||
26 | + user1 = create_default_user | ||
27 | + user2 = fast_create(User) | ||
28 | + | ||
29 | + user2.email = "primary@email.com" | ||
30 | + user2.secondary_email = "noosfero@email.com" | ||
31 | + assert !user2.save | ||
32 | + end | ||
33 | + | ||
34 | + should 'not save user whose email has already been used in another users secondary email' do | ||
35 | + user1 = create_default_user | ||
36 | + user2 = fast_create(User) | ||
37 | + | ||
38 | + user2.login = "another-login" | ||
39 | + user2.email = "secondary@email.com" | ||
40 | + user2.secondary_email = "noosfero@email.com" | ||
41 | + assert !user2.save | ||
42 | + end | ||
43 | + | ||
44 | + should 'not save user whose secondary email has already been used in another users email' do | ||
45 | + user1 = create_default_user | ||
46 | + user2 = fast_create(User) | ||
47 | + | ||
48 | + user2.login = "another-login" | ||
49 | + user2.email = "noosfero@email.com" | ||
50 | + user2.secondary_email = "primary@email.com" | ||
51 | + assert !user2.save | ||
52 | + end | ||
53 | + | ||
54 | + should 'not save user whose secondary email has already been used in another users secondary email' do | ||
55 | + user1 = create_default_user | ||
56 | + user2 = fast_create(User) | ||
57 | + | ||
58 | + user2.login = "another-login" | ||
59 | + user2.email = "noosfero@email.com" | ||
60 | + user2.secondary_email = "secondary@email.com" | ||
61 | + assert !user2.save | ||
62 | + end | ||
63 | + | ||
64 | + should 'not save user whose secondary email is in the wrong format' do | ||
65 | + user = fast_create(User) | ||
66 | + user.email = "test@email.com" | ||
67 | + user.secondary_email = "notarightformat.com" | ||
68 | + | ||
69 | + assert !user.save | ||
70 | + | ||
71 | + user.secondary_email = "not@arightformatcom" | ||
72 | + | ||
73 | + assert !user.save | ||
74 | + end | ||
75 | + | ||
76 | + should 'save more than one user without secondary email' do | ||
77 | + user = fast_create(User) | ||
78 | + user.email = "test@email.com" | ||
79 | + user.secondary_email = "" | ||
80 | + user.save | ||
81 | + | ||
82 | + user2 = fast_create(User) | ||
83 | + user2.email = "test2@email.com" | ||
84 | + user2.secondary_email = "" | ||
85 | + assert user2.save | ||
86 | + end | ||
87 | + should 'return an error if secondary email is governmental and primary is not' do | ||
88 | + user = fast_create(User) | ||
89 | + | ||
90 | + user.email = "test@email.com" | ||
91 | + user.secondary_email = "test@gov.br" | ||
92 | + | ||
93 | + assert !user.save | ||
94 | + assert user.errors.full_messages.include?("The governamental email must be the primary one.") | ||
95 | + end | ||
96 | + | ||
97 | + should 'have institution if email is governmental' do | ||
98 | + user = fast_create(User) | ||
99 | + | ||
100 | + user.email = "testtest@gov.br" | ||
101 | + | ||
102 | + user.institutions = [] | ||
103 | + assert !user.save, "this should not save" | ||
104 | + | ||
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, "44.555.666/7777-88") | ||
109 | + institution.save! | ||
110 | + | ||
111 | + user.institutions << institution | ||
112 | + assert user.save, "this should save" | ||
113 | + end | ||
114 | + | ||
115 | + private | ||
116 | + | ||
117 | + def create_default_user | ||
118 | + user = fast_create(User) | ||
119 | + user.login = "a-login" | ||
120 | + user.email = "primary@email.com" | ||
121 | + user.secondary_email = "secondary@email.com" | ||
122 | + user.save | ||
123 | + | ||
124 | + return user | ||
125 | + end | ||
126 | + | ||
127 | +end |
test/unit/mpog_user_test.rb
@@ -1,127 +0,0 @@ | @@ -1,127 +0,0 @@ | ||
1 | -require File.dirname(__FILE__) + '/../../../../test/test_helper' | ||
2 | -require File.dirname(__FILE__) + '/plugin_test_helper' | ||
3 | - | ||
4 | -class MpogSoftwarePluginUserTest < ActiveSupport::TestCase | ||
5 | - include PluginTestHelper | ||
6 | - | ||
7 | - should 'not save user whose both email and secondary email are the same' do | ||
8 | - | ||
9 | - user = fast_create(User) | ||
10 | - user.email = "test@email.com" | ||
11 | - user.secondary_email = "test@email.com" | ||
12 | - | ||
13 | - assert !user.save | ||
14 | - end | ||
15 | - | ||
16 | - should 'not save user whose both email and secondary email have already been used' do | ||
17 | - user1 = create_default_user | ||
18 | - user2 = fast_create(User) | ||
19 | - | ||
20 | - user2.email = "primary@email.com" | ||
21 | - user2.secondary_email = "secondary@email.com" | ||
22 | - assert !user2.save | ||
23 | - end | ||
24 | - | ||
25 | - should 'not save user whose email has already been used' do | ||
26 | - user1 = create_default_user | ||
27 | - user2 = fast_create(User) | ||
28 | - | ||
29 | - user2.email = "primary@email.com" | ||
30 | - user2.secondary_email = "noosfero@email.com" | ||
31 | - assert !user2.save | ||
32 | - end | ||
33 | - | ||
34 | - should 'not save user whose email has already been used in another users secondary email' do | ||
35 | - user1 = create_default_user | ||
36 | - user2 = fast_create(User) | ||
37 | - | ||
38 | - user2.login = "another-login" | ||
39 | - user2.email = "secondary@email.com" | ||
40 | - user2.secondary_email = "noosfero@email.com" | ||
41 | - assert !user2.save | ||
42 | - end | ||
43 | - | ||
44 | - should 'not save user whose secondary email has already been used in another users email' do | ||
45 | - user1 = create_default_user | ||
46 | - user2 = fast_create(User) | ||
47 | - | ||
48 | - user2.login = "another-login" | ||
49 | - user2.email = "noosfero@email.com" | ||
50 | - user2.secondary_email = "primary@email.com" | ||
51 | - assert !user2.save | ||
52 | - end | ||
53 | - | ||
54 | - should 'not save user whose secondary email has already been used in another users secondary email' do | ||
55 | - user1 = create_default_user | ||
56 | - user2 = fast_create(User) | ||
57 | - | ||
58 | - user2.login = "another-login" | ||
59 | - user2.email = "noosfero@email.com" | ||
60 | - user2.secondary_email = "secondary@email.com" | ||
61 | - assert !user2.save | ||
62 | - end | ||
63 | - | ||
64 | - should 'not save user whose secondary email is in the wrong format' do | ||
65 | - user = fast_create(User) | ||
66 | - user.email = "test@email.com" | ||
67 | - user.secondary_email = "notarightformat.com" | ||
68 | - | ||
69 | - assert !user.save | ||
70 | - | ||
71 | - user.secondary_email = "not@arightformatcom" | ||
72 | - | ||
73 | - assert !user.save | ||
74 | - end | ||
75 | - | ||
76 | - should 'save more than one user without secondary email' do | ||
77 | - user = fast_create(User) | ||
78 | - user.email = "test@email.com" | ||
79 | - user.secondary_email = "" | ||
80 | - user.save | ||
81 | - | ||
82 | - user2 = fast_create(User) | ||
83 | - user2.email = "test2@email.com" | ||
84 | - user2.secondary_email = "" | ||
85 | - assert user2.save | ||
86 | - end | ||
87 | - should 'return an error if secondary email is governmental and primary is not' do | ||
88 | - user = fast_create(User) | ||
89 | - | ||
90 | - user.email = "test@email.com" | ||
91 | - user.secondary_email = "test@gov.br" | ||
92 | - | ||
93 | - assert !user.save | ||
94 | - assert user.errors.full_messages.include?("The governamental email must be the primary one.") | ||
95 | - end | ||
96 | - | ||
97 | - should 'have institution if email is governmental' do | ||
98 | - user = fast_create(User) | ||
99 | - | ||
100 | - user.email = "testtest@gov.br" | ||
101 | - | ||
102 | - user.institutions = [] | ||
103 | - assert !user.save, "this should not save" | ||
104 | - | ||
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! | ||
110 | - | ||
111 | - user.institutions << institution | ||
112 | - assert user.save, "this should save" | ||
113 | - end | ||
114 | - | ||
115 | - private | ||
116 | - | ||
117 | - def create_default_user | ||
118 | - user = fast_create(User) | ||
119 | - user.login = "a-login" | ||
120 | - user.email = "primary@email.com" | ||
121 | - user.secondary_email = "secondary@email.com" | ||
122 | - user.save | ||
123 | - | ||
124 | - return user | ||
125 | - end | ||
126 | - | ||
127 | -end |
test/unit/plugin_test_helper.rb
1 | +require File.dirname(__FILE__) + '/../helpers/institution_test_helper' | ||
2 | + | ||
1 | module PluginTestHelper | 3 | module PluginTestHelper |
2 | 4 | ||
5 | + def create_public_institution *params | ||
6 | + InstitutionTestHelper.create_public_institution *params | ||
7 | + end | ||
8 | + | ||
3 | def create_community name | 9 | def create_community name |
4 | community = fast_create(Community) | 10 | community = fast_create(Community) |
5 | community.name = name | 11 | community.name = name |
@@ -15,29 +21,8 @@ module PluginTestHelper | @@ -15,29 +21,8 @@ module PluginTestHelper | ||
15 | software_info | 21 | software_info |
16 | end | 22 | end |
17 | 23 | ||
18 | - def create_public_institution name, acronym, country, state, city, juridical_nature, gov_p, gov_s | ||
19 | - institution = PublicInstitution.new | ||
20 | - institution.community = create_community_institution(name, country, state, city) | ||
21 | - institution.name = name | ||
22 | - institution.juridical_nature = juridical_nature | ||
23 | - institution.sisp = false | ||
24 | - institution.acronym = acronym | ||
25 | - institution.governmental_power = gov_p | ||
26 | - institution.governmental_sphere = gov_s | ||
27 | - institution.save | ||
28 | - | ||
29 | - institution | ||
30 | - end | ||
31 | - | ||
32 | - def create_private_institution name, cnpj, country, state, city | ||
33 | - institution = PrivateInstitution.new | ||
34 | - institution.community = create_community_institution(name, country, state, city) | ||
35 | - institution.name = name | ||
36 | - institution.sisp = false | ||
37 | - institution.cnpj = cnpj | ||
38 | - institution.save | ||
39 | - | ||
40 | - institution | 24 | + def create_private_institution *params |
25 | + InstitutionTestHelper.create_private_institution *params | ||
41 | end | 26 | end |
42 | 27 | ||
43 | def create_community_institution name, country, state, city | 28 | def create_community_institution name, country, state, city |
test/unit/private_institution_test.rb
@@ -4,7 +4,7 @@ require File.dirname(__FILE__) + '/plugin_test_helper' | @@ -4,7 +4,7 @@ require File.dirname(__FILE__) + '/plugin_test_helper' | ||
4 | class PrivateInstitutionTest < ActiveSupport::TestCase | 4 | class PrivateInstitutionTest < ActiveSupport::TestCase |
5 | include PluginTestHelper | 5 | include PluginTestHelper |
6 | def setup | 6 | def setup |
7 | - @institution = create_private_institution "Simple Private Institution", "00.000.000/0001-00", "BR", "DF", "Gama" | 7 | + @institution = create_private_institution "Simple Private Institution", "SPI", "BR", "DF", "Gama", "00.000.000/0001-00" |
8 | end | 8 | end |
9 | 9 | ||
10 | should "not save without a cnpj" do | 10 | should "not save without a cnpj" do |
@@ -16,8 +16,8 @@ class PrivateInstitutionTest < ActiveSupport::TestCase | @@ -16,8 +16,8 @@ class PrivateInstitutionTest < ActiveSupport::TestCase | ||
16 | 16 | ||
17 | should "not save with a repeated cnpj" do | 17 | should "not save with a repeated cnpj" do |
18 | assert @institution.save | 18 | assert @institution.save |
19 | - sec_institution = create_private_institution "Another Private Institution", "00.000.000/0001-00", "BR", "DF", "Gama" | ||
20 | - assert !sec_institution.save | 19 | + sec_institution = create_private_institution "Another Private Institution", "API", "BR", "DF", "Gama", "00.000.000/0001-00" |
20 | + | ||
21 | 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" |
22 | end | 22 | end |
23 | 23 |
test/unit/public_institution_test.rb
@@ -8,12 +8,12 @@ class PublicInstitutionTest < ActiveSupport::TestCase | @@ -8,12 +8,12 @@ class PublicInstitutionTest < ActiveSupport::TestCase | ||
8 | @gov_sphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") | 8 | @gov_sphere = GovernmentalSphere.create(:name=>"Some Gov Sphere") |
9 | @juridical_nature = JuridicalNature.create(:name => "Autarquia") | 9 | @juridical_nature = JuridicalNature.create(:name => "Autarquia") |
10 | 10 | ||
11 | - @institution = create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, @gov_power, @gov_sphere) | 11 | + @institution = create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, @gov_power, @gov_sphere, "11.222.333/4444-55") |
12 | end | 12 | end |
13 | 13 | ||
14 | - should "save without a cnpj" do | 14 | + should "not save without a cnpj" do |
15 | @institution.cnpj = nil | 15 | @institution.cnpj = nil |
16 | - assert @institution.save | 16 | + assert !@institution.save |
17 | end | 17 | end |
18 | 18 | ||
19 | should "save institution without an acronym" do | 19 | should "save institution without an acronym" do |
test/unit/software_categories_test.rb
@@ -41,6 +41,11 @@ class SoftwareCategoriesTest < ActiveSupport::TestCase | @@ -41,6 +41,11 @@ class SoftwareCategoriesTest < ActiveSupport::TestCase | ||
41 | @software_info.software_categories = @software_categories | 41 | @software_info.software_categories = @software_categories |
42 | end | 42 | end |
43 | 43 | ||
44 | + def teardown | ||
45 | + SoftwareDatabase.destroy_all | ||
46 | + DatabaseDescription.destroy_all | ||
47 | + end | ||
48 | + | ||
44 | should "save software correctly with SoftwareCategories filds" do | 49 | should "save software correctly with SoftwareCategories filds" do |
45 | assert @software_info.save | 50 | assert @software_info.save |
46 | end | 51 | end |
test/unit/software_database_test.rb
@@ -8,6 +8,11 @@ class SoftwareDatabaseTest < ActiveSupport::TestCase | @@ -8,6 +8,11 @@ class SoftwareDatabaseTest < ActiveSupport::TestCase | ||
8 | @software_database.database_description_id = 1 | 8 | @software_database.database_description_id = 1 |
9 | end | 9 | end |
10 | 10 | ||
11 | + def teardown | ||
12 | + DatabaseDescription.destroy_all | ||
13 | + SoftwareDatabase.destroy_all | ||
14 | + end | ||
15 | + | ||
11 | should "save if all informations of @software_database are filled" do | 16 | should "save if all informations of @software_database are filled" do |
12 | assert @software_database.save, "Database should have been saved" | 17 | assert @software_database.save, "Database should have been saved" |
13 | end | 18 | end |