mpog_user_test.rb
3.56 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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
require File.dirname(__FILE__) + '/../../../../test/test_helper'
require File.dirname(__FILE__) + '/plugin_test_helper'
class MpogSoftwarePluginUserTest < ActiveSupport::TestCase
  include PluginTestHelper
  should 'not save user whose both email and secondary email are the same' do
    user = fast_create(User)
    user.email = "test@email.com"
    user.secondary_email = "test@email.com"
    assert !user.save
  end
  should 'not save user whose both email and secondary email have already been used' do
    user1 = create_default_user
    user2 = fast_create(User)
    user2.email = "primary@email.com"
    user2.secondary_email = "secondary@email.com"
    assert !user2.save
  end
  should 'not save user whose email has already been used' do
    user1 = create_default_user
    user2 = fast_create(User)
    user2.email = "primary@email.com"
    user2.secondary_email = "noosfero@email.com"
    assert !user2.save
  end
  should 'not save user whose email has already been used in another users secondary email' do
    user1 = create_default_user
    user2 = fast_create(User)
    user2.login = "another-login"
    user2.email = "secondary@email.com"
    user2.secondary_email = "noosfero@email.com"
    assert !user2.save
  end
  should 'not save user whose secondary email has already been used in another users email' do
    user1 = create_default_user
    user2 = fast_create(User)
    user2.login = "another-login"
    user2.email = "noosfero@email.com"
    user2.secondary_email = "primary@email.com"
    assert !user2.save
  end
  should 'not save user whose secondary email has already been used in another users secondary email' do
    user1 = create_default_user
    user2 = fast_create(User)
    user2.login = "another-login"
    user2.email = "noosfero@email.com"
    user2.secondary_email = "secondary@email.com"
    assert !user2.save
  end
  should 'not save user whose secondary email is in the wrong format' do
    user = fast_create(User)
    user.email = "test@email.com"
    user.secondary_email = "notarightformat.com"
    assert !user.save
    user.secondary_email = "not@arightformatcom"
    assert !user.save
  end
  should 'save more than one user without secondary email' do
    user = fast_create(User)
    user.email = "test@email.com"
    user.secondary_email = ""
    user.save
    user2 = fast_create(User)
    user2.email = "test2@email.com"
    user2.secondary_email = ""
    assert user2.save 
  end
  should 'return an error if secondary email is governmental and primary is not' do
    user = fast_create(User)
    user.email = "test@email.com"
    user.secondary_email = "test@gov.br"
    assert !user.save
    assert user.errors.full_messages.include?("The governamental email must be the primary one.")
  end
  should 'have institution if email is governmental' do
    user = fast_create(User)
    user.email = "testtest@gov.br"
    user.institutions = []
    assert !user.save, "this should not save"
    gov_power = GovernmentalPower.create(:name=>"Some Gov Power")
    gov_sphere = GovernmentalSphere.create(:name=>"Some Gov Sphere")
    juridical_nature = JuridicalNature.create(:name => "Autarquia")
    institution = create_public_institution("Ministerio Publico da Uniao", "MPU", "BR", "DF", "Gama", juridical_nature, gov_power, gov_sphere)
    institution.save!
    user.institutions << institution
    assert user.save, "this should save"
  end
 private
  def create_default_user
    user = fast_create(User)
    user.login = "a-login"
    user.email = "primary@email.com"
    user.secondary_email = "secondary@email.com"
    user.save
    return user
  end
end