profile_editor_controller_test.rb
2.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
require File.dirname(__FILE__) + '/../../../../test/test_helper'
require File.dirname(__FILE__) + '/../helpers/institution_test_helper'
require File.dirname(__FILE__) + '/../../../../app/controllers/my_profile/profile_editor_controller'
class ProfileEditorController; def rescue_action(e) raise e end; end
class ProfileEditorControllerTest < ActionController::TestCase
def setup
@controller = ProfileEditorController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
@profile = create_user('default_user').person
Environment.default.affiliate(@profile, [Environment::Roles.admin(Environment.default.id)] + Profile::Roles.all_roles(Environment.default.id))
@environment = Environment.default
@environment.enabled_plugins = ['MpogSoftwarePlugin']
admin = create_user("adminuser").person
admin.stubs(:has_permission?).returns("true")
login_as('adminuser')
@environment.add_admin(admin)
@environment.save
@govPower = GovernmentalPower.create(:name=>"Some Gov Power")
@govSphere = GovernmentalSphere.create(:name=>"Some Gov Sphere")
@juridical_nature = JuridicalNature.create(:name => "Autarquia")
@institution_list = []
@institution_list << InstitutionTestHelper.create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", @juridical_nature, @govPower, @govSphere, "12.345.678/9012-45")
@institution_list << InstitutionTestHelper.create_public_institution("Tribunal Regional da Uniao", "TRU", "BR", "DF", "Brasilia", @juridical_nature, @govPower, @govSphere, "12.345.678/9012-90")
end
should "add new institution for user into edit profile" do
user = fast_create(User)
user.person = fast_create(Person)
user.person.user = user
user.save!
user.person.save!
params_user = Hash.new
params_user[:institution_ids] = []
@institution_list.each do |institution|
params_user[:institution_ids] << institution.id
end
post :edit, :profile => User.last.person.identifier, :user => params_user
assert_equal @institution_list.count, User.last.institutions.count
end
should "remove institutions for user into edit profile" do
user = fast_create(User)
user.person = fast_create(Person)
@institution_list.each do |institution|
user.institutions << institution
end
user.person.user = user
user.save!
user.person.save!
params_user = Hash.new
params_user[:institution_ids] = []
assert_equal @institution_list.count, User.last.institutions.count
post :edit, :profile => User.last.person.identifier, :user => params_user
assert_equal 0, User.last.institutions.count
end
end