Commit 37d8ade76cb34951b74c4adb9e92fafba7c0cb0c

Authored by Fabio Teixeira
Committed by Gabriela Navarro
1 parent cda90bda

fix_institution: Fix functional tests

Signed-off-by: Fabio Teixeira <fabio1079@gmail.com>
Signed-off-by: Gabriela Navarro <navarro1703@gmail.com>
test/functional/account_controller_test.rb
... ... @@ -1,185 +0,0 @@
1   -require File.dirname(__FILE__) + '/../../../../test/test_helper'
2   -require File.dirname(__FILE__) + '/../../controllers/mpog_software_plugin_controller'
3   -
4   -class AccountController; def rescue_action(e) raise e end; end
5   -
6   -class AccountControllerTest < ActionController::TestCase
7   -
8   - def setup
9   - environment = Environment.default
10   - environment.enabled_plugins = ['MpogSoftwarePlugin']
11   - environment.save
12   -
13   - @gov_power = GovernmentalPower.create(:name=>"Some Gov Power")
14   - @gov_sphere = GovernmentalSphere.create(:name=>"Some Gov Sphere")
15   - @juridical_nature = JuridicalNature.create(:name => "Autarquia")
16   -
17   - @controller = AccountController.new
18   - @request = ActionController::TestRequest.new
19   - @response = ActionController::TestResponse.new
20   -
21   - @institution_list = []
22   - @institution_list << create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, @gov_power, @gov_sphere)
23   - @institution_list << create_public_institution("Tribunal Regional da Uniao", "TRU", "BR", "DF", "Brasilia", @juridical_nature, @gov_power, @gov_sphere)
24   - @user_info = {
25   - :login=>"novo_usuario",
26   - :password=>"nova_senha",
27   - :password_confirmation=>"nova_senha",
28   - :email=>"um@novo.usuario",
29   - :secondary_email=>"outro@email.com",
30   - :institution_ids=>[@institution_list.last.id]
31   - }
32   -
33   - @second_user_info = {
34   - :login=>"outro_usuario",
35   - :password=>"nova_senha",
36   - :password_confirmation=>"nova_senha",
37   - :email=>"um_outro@novo.usuario",
38   - :secondary_email=>"outro2@email.com",
39   - :institution_ids=>[@institution_list.last.id]
40   - }
41   -
42   - @profile_data_info = {
43   - :name=>"Um Novo Usuario",
44   - }
45   -
46   - @second_profile_data_info = {
47   - :name=>"Um Outro Usuario",
48   - }
49   - disable_signup_bot_check
50   - end
51   -
52   - should "Create a user without gov email and institution" do
53   - @user_info[:institution_ids] = nil
54   -
55   - post :signup, :user => @user_info, :profile_data => @profile_data_info
56   -
57   - assert_equal assigns(:user).login, @user_info[:login]
58   - assert assigns(:user).save
59   - end
60   -
61   - should "Create a user with gov email and institution" do
62   - @user_info[:email] = "email@gov.br"
63   -
64   - post :signup, :user => @user_info, :profile_data => @profile_data_info
65   -
66   - assert_equal assigns(:user).login, @user_info[:login]
67   - assert assigns(:user).save
68   - end
69   -
70   - should "Do not create a user with gov email without institution" do
71   - @user_info[:email] = "email@gov.br"
72   - @user_info[:institution_ids] = nil
73   -
74   - post :signup, :user => @user_info, :profile_data => @profile_data_info
75   -
76   - assert_equal assigns(:user).login, @user_info[:login]
77   - assert !assigns(:user).save
78   - end
79   -
80   - should "user become a member of its institution community on registration" do
81   - post :signup, :user => @user_info, :profile_data => @profile_data_info
82   -
83   - last_user = User.last
84   - last_community = Community.last
85   -
86   - assert_equal @user_info[:secondary_email], last_user.secondary_email
87   - assert_equal true, last_community.members.include?(last_user.person)
88   - assert_response :success
89   - end
90   -
91   -
92   - should "user can become a member of more than one institution" do
93   - @user_info[:institution_ids] = [@institution_list.first.id, @institution_list.last.id]
94   -
95   - post :signup, :user => @user_info, :profile_data => @profile_data_info
96   -
97   - last_user = User.last
98   -
99   - assert last_user.institutions.include?(@institution_list.first)
100   - assert last_user.institutions.include?(@institution_list.last)
101   - end
102   -
103   - should "not create a user with secondary email as someone's primary email" do
104   - @second_user_info[:secondary_email] = @user_info[:email]
105   -
106   - post :signup, :user => @user_info, :profile_data => @profile_data_info
107   - post :signup, :user => @second_user_info, :profile_data => @second_profile_data_info
108   - assert !assigns(:user).save, "This should not have been saved."
109   - end
110   -
111   - should "not create a user with secondary email as someone's secondary email" do
112   - @second_user_info[:secondary_email] = @user_info[:secondary_email]
113   -
114   - post :signup, :user => @user_info, :profile_data => @profile_data_info
115   - post :signup, :user => @second_user_info, :profile_data => @second_profile_data_info
116   - assert !assigns(:user).save, "This should not have been saved."
117   - end
118   -
119   - should "not create a user with equal emails" do
120   - @user_info[:email] = @user_info[:secondary_email]
121   -
122   - post :signup, :user => @user_info, :profile_data => @profile_data_info
123   - assert !assigns(:user).save, "This should not have been saved."
124   - end
125   -
126   - should "not create a user with governmental secondary email" do
127   - @user_info[:secondary_email] = "email@gov.br"
128   -
129   - post :signup, :user => @user_info, :profile_data => @profile_data_info
130   - assert !assigns(:user).save, "This should not have been saved."
131   - end
132   -
133   - should "user can register without secondary_email" do
134   - @user_info[:secondary_email] = ""
135   -
136   - post :signup, :user => @user_info, :profile_data => @profile_data_info
137   -
138   - assert_equal assigns(:user).login, @user_info[:login]
139   - assert assigns(:user).save
140   - end
141   -
142   - private
143   -
144   - def create_public_institution name, acronym, country, state, city, juridical_nature, gov_p, gov_s
145   - institution_community = fast_create(Community)
146   - institution_community.name = name
147   - institution_community.country = country
148   - institution_community.state = state
149   - institution_community.city = city
150   - institution_community.save!
151   -
152   - institution = PublicInstitution.new
153   - institution.community = institution_community
154   - institution.name = name
155   - institution.juridical_nature = juridical_nature
156   - institution.acronym = acronym
157   - institution.governmental_power = gov_p
158   - institution.governmental_sphere = gov_s
159   - institution.save!
160   - institution
161   - end
162   -
163   - def form_params
164   - user = {
165   - :login=>"novo_usuario",
166   - :password=>"nova_senha",
167   - :password_confirmation=>"nova_senha",
168   - :email=>"um@novo.usuario",
169   - :secondary_email=>"outro@email.com",
170   - :institution_ids=>[@institution_list.last.id]
171   - }
172   -
173   - profile_data = {
174   - :name=>"Um novo usuario",
175   - }
176   -
177   - user["profile_data"] = profile_data
178   - user
179   - end
180   -
181   - def disable_signup_bot_check(environment = Environment.default)
182   - environment.min_signup_delay = 0
183   - environment.save!
184   - end
185   -end
test/functional/institution_editor_test.rb
... ... @@ -1,68 +0,0 @@
1   -require File.dirname(__FILE__) + '/../../../../test/test_helper'
2   -require File.dirname(__FILE__) + '/../../controllers/mpog_software_plugin_controller'
3   -
4   -
5   -class InstitutionEditorTest < ActionController::TestCase
6   -
7   - def setup
8   - @controller = ProfileEditorController.new
9   - @request = ActionController::TestRequest.new
10   - @response = ActionController::TestResponse.new
11   -
12   - @environment = Environment.default
13   - @environment.enabled_plugins = ['MpogSoftwarePlugin']
14   - @environment.save
15   -
16   - @govPower = GovernmentalPower.create(:name=>"Some Gov Power")
17   - @govSphere = GovernmentalSphere.create(:name=>"Some Gov Sphere")
18   - @juridical_nature = JuridicalNature.create(:name => "Autarquia")
19   -
20   -
21   - @institution_list = []
22   - @institution_list << create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, @govPower, @govSphere)
23   - @institution_list << create_public_institution("Tribunal Regional da Uniao", "TRU", "BR", "DF", "Brasilia", @juridical_nature, @govPower, @govSphere)
24   - end
25   -
26   -
27   - should ' enable edition of sisp field for enviroment admin' do
28   - admin = create_user("adminuser").person
29   - admin.stubs(:has_permission?).returns("true")
30   - login_as('adminuser')
31   - @environment.add_admin(admin)
32   - get :edit, :profile => @institution_list[0].community.identifier, :id => @institution_list[0].community.id
33   - assert_tag :tag => 'span', :descendant => {:tag => "input", :attributes => { :type => 'radio', :name => "institution[sisp]"}}
34   - end
35   -
36   - should 'enable only visulization of sisp field for institution admin' do
37   - ze = create_user("ze").person
38   - login_as('ze')
39   - @institution_list[0].community.add_admin(ze)
40   - get :edit, :profile => @institution_list[0].community.identifier, :id => @institution_list[0].community.id
41   - assert_tag :tag => 'span', :descendant => {:tag => "label", :attributes => {:for => "SISP"}}
42   - end
43   -
44   -
45   - private
46   -
47   - def create_public_institution name, acronym, country, state, city, juridical_nature, gov_p, gov_s
48   - institution_community = fast_create(Community)
49   - institution_community.name = name
50   - institution_community.country = country
51   - institution_community.state = state
52   - institution_community.city = city
53   - institution_community.save!
54   -
55   - institution = PublicInstitution.new
56   - institution.community = institution_community
57   - institution.name = name
58   - institution.juridical_nature = juridical_nature
59   - institution.sisp = false
60   - institution.acronym = acronym
61   - institution.governmental_power = gov_p
62   - institution.governmental_sphere = gov_s
63   - institution.save!
64   -
65   - institution
66   - end
67   -
68   -end
test/functional/profile_editor_controller_test.rb
1 1 require File.dirname(__FILE__) + '/../../../../test/test_helper'
  2 +require File.dirname(__FILE__) + '/institution_test_helper'
2 3 require File.dirname(__FILE__) + '/../../../../app/controllers/my_profile/profile_editor_controller'
3 4  
4 5 class ProfileEditorController; def rescue_action(e) raise e end; end
... ... @@ -19,14 +20,17 @@ class ProfileEditorControllerTest &lt; ActionController::TestCase
19 20 @environment.add_admin(admin)
20 21 @environment.save
21 22  
22   - @govPower = GovernmentalPower.create(:name => "Some Gov Power")
23   - @govSphere = GovernmentalSphere.create(:name => "Some Gov Sphere")
  23 + @govPower = GovernmentalPower.create(:name=>"Some Gov Power")
  24 + @govSphere = GovernmentalSphere.create(:name=>"Some Gov Sphere")
24 25 @juridical_nature = JuridicalNature.create(:name => "Autarquia")
25 26  
  27 + @institution_list = []
  28 + @institution_list << InstitutionTestHelper.create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, @govPower, @govSphere, "12.345.678/9012-45")
  29 + @institution_list << InstitutionTestHelper.create_public_institution("Tribunal Regional da Uniao", "TRU", "BR", "DF", "Brasilia", @juridical_nature, @govPower, @govSphere, "12.345.678/9012-90")
26 30 end
27 31  
28 32 should "update institution date_modification when edit profile" do
29   - create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, @govPower, @govSphere)
  33 + InstitutionTestHelper.create_public_institution("Just a test name", "JTN", "BR", "DF", "Gama", @juridical_nature, @govPower, @govSphere, "12.345.678/9055-33")
30 34  
31 35 post :edit, :profile => Institution.last.community.identifier, :profile_data => {:name => "Ministerio da Saude"}, :institution => Institution.last
32 36  
... ... @@ -35,9 +39,6 @@ class ProfileEditorControllerTest &lt; ActionController::TestCase
35 39 end
36 40  
37 41 should "add new institution for user into edit profile" do
38   - institutions = []
39   - institutions << create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, @govPower, @govSphere)
40   - institutions << create_public_institution("Nova Instituicao", "NIN", "BR", "GO", "Goiania", @juridical_nature, @govPower, @govSphere)
41 42 user = fast_create(User)
42 43 user.person = fast_create(Person)
43 44 user.person.user = user
... ... @@ -46,21 +47,23 @@ class ProfileEditorControllerTest &lt; ActionController::TestCase
46 47  
47 48 params_user = Hash.new
48 49 params_user[:institution_ids] = []
49   - institutions.each do |institution|
  50 +
  51 + @institution_list.each do |institution|
50 52 params_user[:institution_ids] << institution.id
51 53 end
52 54  
53 55 post :edit, :profile => User.last.person.identifier, :user => params_user
54 56  
55   - assert_equal institutions.count, User.last.institutions.count
  57 + assert_equal @institution_list.count, User.last.institutions.count
56 58 end
57 59  
58 60 should "remove institutions for user into edit profile" do
59 61 user = fast_create(User)
60 62 user.person = fast_create(Person)
61 63  
62   - user.institutions << create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, @govPower, @govSphere)
63   - user.institutions << create_public_institution("Nova Instituicao", "NIN", "BR", "GO", "Goiania", @juridical_nature, @govPower, @govSphere)
  64 + @institution_list.each do |institution|
  65 + user.institutions << institution
  66 + end
64 67  
65 68 user.person.user = user
66 69 user.save!
... ... @@ -69,30 +72,10 @@ class ProfileEditorControllerTest &lt; ActionController::TestCase
69 72 params_user = Hash.new
70 73 params_user[:institution_ids] = []
71 74  
  75 + assert_equal @institution_list.count, User.last.institutions.count
  76 +
72 77 post :edit, :profile => User.last.person.identifier, :user => params_user
73 78  
74 79 assert_equal 0, User.last.institutions.count
75 80 end
76   -
77   - private
78   -
79   - def create_public_institution name, acronym, country, state, city, juridical_nature, gov_p, gov_s
80   - institution_community = fast_create(Community)
81   - institution_community.name = name
82   - institution_community.country = country
83   - institution_community.state = state
84   - institution_community.city = city
85   - institution_community.save!
86   -
87   - institution = PublicInstitution.new
88   - institution.community = institution_community
89   - institution.name = name
90   - institution.juridical_nature = juridical_nature
91   - institution.acronym = acronym
92   - institution.governmental_power = gov_p
93   - institution.governmental_sphere = gov_s
94   - institution.save!
95   - institution
96   - end
97   -
98 81 end
... ...