goz 0.0.3 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/test/test_user.rb DELETED
@@ -1,205 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'simplecov'
4
- SimpleCov.start
5
-
6
- require 'goz/test_case'
7
- require 'goz/user'
8
-
9
-
10
- class TestUser < Goz::TestCase
11
-
12
- def setup
13
- super
14
-
15
- @email = 'foo@example.org' # XXX
16
- @login = 'foo' # XXX
17
- @identifier = 'd3b07384d113edec49eaa6238ad5ff00' # XXX
18
- @name = 'Foo User' # XXX
19
- end
20
-
21
-
22
- def test_default_initialization
23
- blockable = false
24
- user = Goz::User.new do |user|
25
- assert_kind_of Goz::User, user
26
- assert_nil user.email
27
- assert_nil user.login
28
- assert_nil user.identifier
29
- assert_nil user.name
30
- assert_nil user.created_at
31
- assert_nil user.modified_at
32
- assert_nil user.modified_at
33
- blockable = true
34
- end
35
- assert blockable, 'works as block'
36
- assert_kind_of Goz::User, user
37
- assert_kind_of Goz::User, Goz::User.new
38
- assert_nil user.email
39
- assert_nil user.login
40
- assert_nil user.identifier
41
- assert_nil user.name
42
- assert_nil user.created_at
43
- assert_nil user.modified_at
44
- assert_nil user.modified_at
45
- end
46
-
47
- def test_find_by_login_for_user_that_does_not_exist
48
- assert_nil Goz::User.find_by_login @users[:a][:login]
49
- end
50
-
51
- def test_create_with_invalid_parameters
52
- assert_raise(RuntimeError, 'invalid email') { Goz::User.create(nil) }
53
- assert_raise(RuntimeError, 'invalid email') {
54
- Goz::User.create( :identifier => @identifier,
55
- :login => @login,
56
- :name => @name
57
- )
58
- }
59
- assert_raise(RuntimeError, 'invalid email') {
60
- Goz::User.create( :email => '',
61
- :identifier => @identifier,
62
- :login => @login,
63
- :name => @name
64
- )
65
- }
66
- assert_raise(RuntimeError, 'invalid identifier') {
67
- Goz::User.create( :email => @email,
68
- :login => @login,
69
- :name => @name
70
- )
71
- }
72
- assert_raise(RuntimeError, 'invalid identifier') {
73
- Goz::User.create( :email => @email,
74
- :identifier => '',
75
- :login => @login,
76
- :name => @name
77
- )
78
- }
79
- assert_raise(RuntimeError, 'invalid login') {
80
- Goz::User.create( :email => @email,
81
- :identifier => @identifier,
82
- :name => @name
83
- )
84
- }
85
- assert_raise(RuntimeError, 'invalid login') {
86
- Goz::User.create( :email => @email,
87
- :identifier => @identifier,
88
- :login => '',
89
- :name => @name
90
- )
91
- }
92
- assert_raise(RuntimeError, 'invalid name') {
93
- Goz::User.create( :email => @email,
94
- :identifier => @identifier,
95
- :login => @login
96
- )
97
- }
98
- assert_raise(RuntimeError, 'invalid name') {
99
- Goz::User.create( :email => @email,
100
- :identifier => @identifier,
101
- :login => @login,
102
- :name => ''
103
- )
104
- }
105
- end
106
-
107
- def test_create
108
- t = Time.now
109
- u = Goz::User.create( :email => @email,
110
- :identifier => @identifier,
111
- :login => @login,
112
- :name => @name
113
- )
114
- assert_not_nil u
115
- assert_kind_of Goz::User, u
116
- assert_equal @email, u.email
117
- assert_equal @identifier, u.identifier
118
- assert_equal @login, u.login
119
- assert_equal @name, u.name
120
- assert_not_nil u.created_at
121
- assert u.created_at >= t
122
- end
123
-
124
- def test_update
125
- u = Goz::User.create( :email => @email,
126
- :identifier => @identifier,
127
- :login => @login,
128
- :name => @name
129
- )
130
- u.name = u.name.reverse
131
- u.save
132
-
133
- assert_not_nil u.modified_at
134
- assert_kind_of Time, u.modified_at
135
- assert u.modified_at > u.created_at
136
-
137
- assert_nil u.synchronized_at
138
- end
139
-
140
- def test_equality
141
- u1 = Goz::User.create( :email => @email,
142
- :identifier => @identifier,
143
- :login => @login,
144
- :name => @name
145
- )
146
- assert_not_nil u1
147
-
148
- u2 = Goz::User.find_by_login( u1.login )
149
- assert_not_nil u2
150
- assert_equal u1, u2
151
-
152
- u3 = Goz::User.create( :email => @email.reverse,
153
- :identifier => @identifier.reverse,
154
- :login => @login.reverse,
155
- :name => @name.reverse
156
- )
157
- assert_not_nil u3
158
- assert_not_equal u1, u3
159
- assert_not_equal u2, u3
160
- end
161
-
162
- def test_find_by_login_and_persistence
163
- u1 = Goz::User.find_by_login(@login)
164
- assert_nil u1
165
-
166
- u1 = Goz::User.create( :email => @email,
167
- :identifier => @identifier,
168
- :login => @login,
169
- :name => @name
170
- )
171
-
172
- u2 = Goz::User.find_by_login(@login)
173
- assert_not_nil u2
174
- assert_kind_of Goz::User, u2
175
- assert_equal u1, u2
176
- end
177
-
178
- def test_sync
179
- u = Goz::User.create @users[:a]
180
- assert_nil u.synchronized_at
181
-
182
- t = Time.now
183
- assert u.sync
184
- assert_not_nil u.modified_at
185
- assert u.modified_at.to_f > t.to_f
186
- assert_not_nil u.synchronized_at
187
- assert u.synchronized_at.to_f > t.to_f
188
-
189
- t = Time.now
190
- assert !u.sync
191
- assert_not_nil u.modified_at
192
- assert u.modified_at.to_f < t.to_f
193
- assert_not_nil u.synchronized_at
194
- assert u.synchronized_at.to_f < t.to_f
195
-
196
- t = Time.now
197
- assert u.sync(true)
198
- assert_not_nil u.modified_at
199
- assert u.modified_at.to_f > t.to_f
200
- assert_not_nil u.synchronized_at
201
- assert u.synchronized_at.to_f > t.to_f
202
- end
203
-
204
- end
205
-