account_controller_test.rb
2.41 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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
require File.dirname(__FILE__) + '/../../../../test/test_helper'
require File.dirname(__FILE__) + '/../../controllers/mpog_software_plugin_controller'
class AccountController; def rescue_action(e) raise e end; end
class AccountControllerTest < ActionController::TestCase
def setup
@response = ActionController::TestResponse.new
@institution_list = []
@institution_list << create_institution("Ministerio Publico da Uniao", "MPU")
@institution_list << create_institution("Tribunal Regional da Uniao", "TRU")
@user_info = {
:login=>"novo_usuario",
:password=>"nova_senha",
:password_confirmation=>"nova_senha",
:email=>"um@novo.usuario",
:secondary_email=>"outro@email.com",
:role=>"um role ai",
:institution_id=>@institution_list.last.id
}
@profile_data_info = {
:name=>"Um novo usuario",
:area_interest=>"uma area ai"
}
end
should "Create a user without gov email and institution" do
@user_info[:institution_id] = nil
post :signup, :user => @user_info, :profile_data => @profile_data_info
assert_equal assigns(:user).login, @user_info[:login]
assert assigns(:user).save
end
should "Create a user with gov email and institution" do
@user_info[:email] = "email@gov.br"
post :signup, :user => @user_info, :profile_data => @profile_data_info
assert_equal assigns(:user).login, @user_info[:login]
assert assigns(:user).save
end
should "Do not create a user with gov email without institution" do
@user_info[:email] = "email@gov.br"
@user_info[:institution_id] = nil
post :signup, :user => @user_info, :profile_data => @profile_data_info
assert_equal assigns(:user).login, @user_info[:login]
assert !assigns(:user).save
end
private
def create_institution name, acronym
institution = Institution.new
institution.name = name
institution.acronym = acronym
institution.type = "PublicInstitution"
institution.save
institution
end
def form_params
user = {
:login=>"novo_usuario",
:password=>"nova_senha",
:password_confirmation=>"nova_senha",
:email=>"um@novo.usuario",
:secondary_email=>"outro@email.com",
:role=>"um role ai",
:institution_id=>@institution_list.last.id
}
profile_data = {
:name=>"Um novo usuario",
:area_interest=>"uma area ai"
}
user["profile_data"] = profile_data
user
end
end