devise_token_auth 0.1.42 → 0.1.43.beta1

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.

Potentially problematic release.


This version of devise_token_auth might be problematic. Click here for more details.

Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +39 -38
  3. data/app/controllers/devise_token_auth/application_controller.rb +15 -0
  4. data/app/controllers/devise_token_auth/concerns/resource_finder.rb +38 -0
  5. data/app/controllers/devise_token_auth/concerns/set_user_by_token.rb +21 -19
  6. data/app/controllers/devise_token_auth/confirmations_controller.rb +12 -7
  7. data/app/controllers/devise_token_auth/omniauth_callbacks_controller.rb +3 -7
  8. data/app/controllers/devise_token_auth/passwords_controller.rb +16 -26
  9. data/app/controllers/devise_token_auth/registrations_controller.rb +6 -2
  10. data/app/controllers/devise_token_auth/sessions_controller.rb +3 -14
  11. data/app/controllers/devise_token_auth/unlocks_controller.rb +105 -0
  12. data/app/models/devise_token_auth/concerns/user.rb +29 -12
  13. data/app/models/devise_token_auth/concerns/user_omniauth_callbacks.rb +5 -8
  14. data/app/views/devise/mailer/unlock_instructions.html.erb +1 -1
  15. data/app/views/devise_token_auth/omniauth_external_window.html.erb +1 -1
  16. data/config/initializers/devise.rb +1 -1
  17. data/config/locales/da-DK.yml +50 -0
  18. data/config/locales/en.yml +4 -0
  19. data/lib/devise_token_auth/controllers/helpers.rb +30 -20
  20. data/lib/devise_token_auth/rails/routes.rb +1 -1
  21. data/lib/devise_token_auth/url.rb +1 -1
  22. data/lib/devise_token_auth/version.rb +1 -1
  23. data/lib/generators/devise_token_auth/templates/devise_token_auth_create_users.rb.erb +2 -1
  24. data/lib/generators/devise_token_auth/templates/user.rb +1 -1
  25. data/test/controllers/custom/custom_confirmations_controller_test.rb +5 -10
  26. data/test/controllers/custom/custom_omniauth_callbacks_controller_test.rb +15 -16
  27. data/test/controllers/custom/custom_passwords_controller_test.rb +28 -34
  28. data/test/controllers/custom/custom_registrations_controller_test.rb +23 -21
  29. data/test/controllers/custom/custom_sessions_controller_test.rb +16 -18
  30. data/test/controllers/custom/custom_token_validations_controller_test.rb +13 -11
  31. data/test/controllers/demo_group_controller_test.rb +19 -5
  32. data/test/controllers/demo_mang_controller_test.rb +37 -16
  33. data/test/controllers/demo_user_controller_test.rb +70 -38
  34. data/test/controllers/devise_token_auth/confirmations_controller_test.rb +40 -22
  35. data/test/controllers/devise_token_auth/omniauth_callbacks_controller_test.rb +108 -82
  36. data/test/controllers/devise_token_auth/passwords_controller_test.rb +127 -145
  37. data/test/controllers/devise_token_auth/registrations_controller_test.rb +258 -274
  38. data/test/controllers/devise_token_auth/sessions_controller_test.rb +112 -117
  39. data/test/controllers/devise_token_auth/token_validations_controller_test.rb +14 -15
  40. data/test/controllers/devise_token_auth/unlocks_controller_test.rb +194 -0
  41. data/test/controllers/overrides/confirmations_controller_test.rb +8 -9
  42. data/test/controllers/overrides/omniauth_callbacks_controller_test.rb +16 -12
  43. data/test/controllers/overrides/passwords_controller_test.rb +19 -15
  44. data/test/controllers/overrides/registrations_controller_test.rb +7 -7
  45. data/test/controllers/overrides/sessions_controller_test.rb +6 -6
  46. data/test/controllers/overrides/token_validations_controller_test.rb +7 -4
  47. data/test/dummy/app/controllers/auth_origin_controller.rb +2 -2
  48. data/test/dummy/app/controllers/custom/omniauth_callbacks_controller.rb +0 -2
  49. data/test/dummy/app/controllers/overrides/confirmations_controller.rb +11 -7
  50. data/test/dummy/app/controllers/overrides/passwords_controller.rb +10 -8
  51. data/test/dummy/app/controllers/overrides/sessions_controller.rb +1 -1
  52. data/test/dummy/db/migrate/20140715061447_devise_token_auth_create_users.rb +2 -2
  53. data/test/dummy/db/migrate/20140715061805_devise_token_auth_create_mangs.rb +2 -2
  54. data/test/dummy/db/migrate/20140829044006_add_operating_thetan_to_user.rb +1 -1
  55. data/test/dummy/db/migrate/20140916224624_add_favorite_color_to_mangs.rb +1 -1
  56. data/test/dummy/db/migrate/20140928231203_devise_token_auth_create_evil_users.rb +2 -1
  57. data/test/dummy/db/migrate/20141222035835_devise_token_auth_create_only_email_users.rb +1 -1
  58. data/test/dummy/db/migrate/20141222053502_devise_token_auth_create_unregisterable_users.rb +2 -1
  59. data/test/dummy/db/migrate/20150409095712_devise_token_auth_create_nice_users.rb +2 -1
  60. data/test/dummy/db/migrate/20150708104536_devise_token_auth_create_unconfirmable_users.rb +2 -1
  61. data/test/dummy/db/migrate/20160103235141_devise_token_auth_create_scoped_users.rb +2 -1
  62. data/test/dummy/db/migrate/20160629184441_devise_token_auth_create_lockable_users.rb +2 -1
  63. data/test/dummy/db/schema.rb +157 -162
  64. data/test/dummy/tmp/generators/app/models/user.rb +1 -1
  65. data/test/dummy/tmp/generators/db/migrate/{20170517171822_devise_token_auth_create_users.rb → 20171014052631_devise_token_auth_create_users.rb} +2 -1
  66. data/test/lib/generators/devise_token_auth/install_generator_test.rb +5 -1
  67. data/test/models/user_test.rb +35 -1
  68. data/test/test_helper.rb +17 -11
  69. metadata +85 -80
@@ -8,7 +8,7 @@ require 'test_helper'
8
8
 
9
9
  class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
10
10
  describe DeviseTokenAuth::SessionsController do
11
- describe "Confirmed user" do
11
+ describe 'Confirmed user' do
12
12
  before do
13
13
  @existing_user = users(:confirmed_email_user)
14
14
  @existing_user.skip_confirmation!
@@ -23,10 +23,11 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
23
23
  @old_sign_in_ip = @existing_user.current_sign_in_ip
24
24
  @old_last_sign_in_ip = @existing_user.last_sign_in_ip
25
25
 
26
- xhr :post, :create, {
27
- email: @existing_user.email,
28
- password: 'secret123'
29
- }
26
+ post :create,
27
+ params: {
28
+ email: @existing_user.email,
29
+ password: 'secret123'
30
+ }
30
31
 
31
32
  @resource = assigns(:resource)
32
33
  @data = JSON.parse(response.body)
@@ -38,11 +39,11 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
38
39
  @new_last_sign_in_ip = @resource.last_sign_in_ip
39
40
  end
40
41
 
41
- test "request should succeed" do
42
+ test 'request should succeed' do
42
43
  assert_equal 200, response.status
43
44
  end
44
45
 
45
- test "request should return user data" do
46
+ test 'request should return user data' do
46
47
  assert_equal @existing_user.email, @data['data']['email']
47
48
  end
48
49
 
@@ -63,31 +64,30 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
63
64
 
64
65
  test 'sign_in_ip is updated' do
65
66
  refute @old_sign_in_ip
66
- assert_equal "0.0.0.0", @new_sign_in_ip
67
+ assert_equal '0.0.0.0', @new_sign_in_ip
67
68
  end
68
69
 
69
70
  test 'last_sign_in_ip is updated' do
70
71
  refute @old_last_sign_in_ip
71
- assert_equal "0.0.0.0", @new_last_sign_in_ip
72
+ assert_equal '0.0.0.0', @new_last_sign_in_ip
72
73
  end
73
74
  end
74
75
  end
75
76
 
76
77
  describe 'get sign_in is not supported' do
77
78
  before do
78
- xhr :get, :new, {
79
- nickname: @existing_user.nickname,
80
- password: 'secret123'
81
- }
79
+ get :new,
80
+ params: { nickname: @existing_user.nickname,
81
+ password: 'secret123' }
82
82
  @data = JSON.parse(response.body)
83
83
  end
84
84
 
85
85
  test 'user is notified that they should use post sign_in to authenticate' do
86
86
  assert_equal 405, response.status
87
87
  end
88
- test "response should contain errors" do
88
+ test 'response should contain errors' do
89
89
  assert @data['errors']
90
- assert_equal @data['errors'], [I18n.t("devise_token_auth.sessions.not_supported")]
90
+ assert_equal @data['errors'], [I18n.t('devise_token_auth.sessions.not_supported')]
91
91
  end
92
92
  end
93
93
 
@@ -95,9 +95,10 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
95
95
  before do
96
96
  request.headers.merge!(
97
97
  'email' => @existing_user.email,
98
- 'password' => 'secret123')
98
+ 'password' => 'secret123'
99
+ )
99
100
 
100
- xhr :head, :create
101
+ head :create
101
102
  @data = JSON.parse(response.body)
102
103
  end
103
104
 
@@ -108,10 +109,9 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
108
109
 
109
110
  describe 'alt auth keys' do
110
111
  before do
111
- xhr :post, :create, {
112
- nickname: @existing_user.nickname,
113
- password: 'secret123'
114
- }
112
+ post :create,
113
+ params: { nickname: @existing_user.nickname,
114
+ password: 'secret123' }
115
115
  @data = JSON.parse(response.body)
116
116
  end
117
117
 
@@ -123,23 +123,28 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
123
123
 
124
124
  describe 'authed user sign out' do
125
125
  before do
126
- def @controller.reset_session_called; @reset_session_called == true; end
127
- def @controller.reset_session; @reset_session_called = true; end
126
+ def @controller.reset_session_called
127
+ @reset_session_called == true
128
+ end
129
+
130
+ def @controller.reset_session
131
+ @reset_session_called = true
132
+ end
128
133
  @auth_headers = @existing_user.create_new_auth_token
129
134
  request.headers.merge!(@auth_headers)
130
- xhr :delete, :destroy, format: :json
135
+ delete :destroy, format: :json
131
136
  end
132
137
 
133
- test "user is successfully logged out" do
138
+ test 'user is successfully logged out' do
134
139
  assert_equal 200, response.status
135
140
  end
136
141
 
137
- test "token was destroyed" do
142
+ test 'token was destroyed' do
138
143
  @existing_user.reload
139
- refute @existing_user.tokens[@auth_headers["client"]]
144
+ refute @existing_user.tokens[@auth_headers['client']]
140
145
  end
141
146
 
142
- test "session was destroyed" do
147
+ test 'session was destroyed' do
143
148
  assert_equal true, @controller.reset_session_called
144
149
  end
145
150
  end
@@ -147,38 +152,39 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
147
152
  describe 'unauthed user sign out' do
148
153
  before do
149
154
  @auth_headers = @existing_user.create_new_auth_token
150
- xhr :delete, :destroy, format: :json
155
+ delete :destroy, format: :json
151
156
  @data = JSON.parse(response.body)
152
157
  end
153
158
 
154
- test "unauthed request returns 404" do
159
+ test 'unauthed request returns 404' do
155
160
  assert_equal 404, response.status
156
161
  end
157
162
 
158
- test "response should contain errors" do
163
+ test 'response should contain errors' do
159
164
  assert @data['errors']
160
- assert_equal @data['errors'], [I18n.t("devise_token_auth.sessions.user_not_found")]
165
+ assert_equal @data['errors'],
166
+ [I18n.t('devise_token_auth.sessions.user_not_found')]
161
167
  end
162
168
  end
163
169
 
164
170
  describe 'failure' do
165
171
  before do
166
- xhr :post, :create, {
167
- email: @existing_user.email,
168
- password: 'bogus'
169
- }
172
+ post :create,
173
+ params: { email: @existing_user.email,
174
+ password: 'bogus' }
170
175
 
171
176
  @resource = assigns(:resource)
172
177
  @data = JSON.parse(response.body)
173
178
  end
174
179
 
175
- test "request should fail" do
180
+ test 'request should fail' do
176
181
  assert_equal 401, response.status
177
182
  end
178
183
 
179
- test "response should contain errors" do
184
+ test 'response should contain errors' do
180
185
  assert @data['errors']
181
- assert_equal @data['errors'], [I18n.t("devise_token_auth.sessions.bad_credentials")]
186
+ assert_equal @data['errors'],
187
+ [I18n.t('devise_token_auth.sessions.bad_credentials')]
182
188
  end
183
189
  end
184
190
 
@@ -190,31 +196,29 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
190
196
  # which initializes client_id
191
197
  @controller.current_user
192
198
 
193
- xhr :post, :create, {
194
- email: @existing_user.email,
195
- password: 'bogus'
196
- }
199
+ post :create,
200
+ params: { email: @existing_user.email,
201
+ password: 'bogus' }
197
202
 
198
203
  @resource = assigns(:resource)
199
204
  @data = JSON.parse(response.body)
200
205
  end
201
206
 
202
- test "request should fail" do
207
+ test 'request should fail' do
203
208
  assert_equal 401, response.status
204
209
  end
205
210
 
206
- test "response should contain errors" do
211
+ test 'response should contain errors' do
207
212
  assert @data['errors']
208
- assert_equal @data['errors'], [I18n.t("devise_token_auth.sessions.bad_credentials")]
213
+ assert_equal @data['errors'], [I18n.t('devise_token_auth.sessions.bad_credentials')]
209
214
  end
210
215
 
211
216
  after do
212
- DeviseTokenAuth.change_headers_on_each_request = true
217
+ DeviseTokenAuth.change_headers_on_each_request = true
213
218
  end
214
219
  end
215
220
 
216
221
  describe 'case-insensitive email' do
217
-
218
222
  before do
219
223
  @resource_class = User
220
224
  @request_params = {
@@ -223,51 +227,49 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
223
227
  }
224
228
  end
225
229
 
226
- test "request should succeed if configured" do
230
+ test 'request should succeed if configured' do
227
231
  @resource_class.case_insensitive_keys = [:email]
228
- xhr :post, :create, @request_params
232
+ post :create, params: @request_params
229
233
  assert_equal 200, response.status
230
234
  end
231
235
 
232
- test "request should fail if not configured" do
236
+ test 'request should fail if not configured' do
233
237
  @resource_class.case_insensitive_keys = []
234
- xhr :post, :create, @request_params
238
+ post :create, params: @request_params
235
239
  assert_equal 401, response.status
236
240
  end
237
-
238
241
  end
239
242
  end
240
243
 
241
- describe "Unconfirmed user" do
244
+ describe 'Unconfirmed user' do
242
245
  before do
243
246
  @unconfirmed_user = users(:unconfirmed_email_user)
244
- xhr :post, :create, {
245
- email: @unconfirmed_user.email,
246
- password: 'secret123'
247
- }
247
+ post :create, params: { email: @unconfirmed_user.email,
248
+ password: 'secret123' }
248
249
  @resource = assigns(:resource)
249
250
  @data = JSON.parse(response.body)
250
251
  end
251
252
 
252
- test "request should fail" do
253
+ test 'request should fail' do
253
254
  assert_equal 401, response.status
254
255
  end
255
256
 
256
- test "response should contain errors" do
257
+ test 'response should contain errors' do
257
258
  assert @data['errors']
258
- assert_equal @data['errors'], [I18n.t("devise_token_auth.sessions.not_confirmed", email: @unconfirmed_user.email)]
259
+ assert_equal @data['errors'],
260
+ [I18n.t('devise_token_auth.sessions.not_confirmed',
261
+ email: @unconfirmed_user.email)]
259
262
  end
260
263
  end
261
264
 
262
- describe "Unconfirmed user with allowed unconfirmed access" do
265
+ describe 'Unconfirmed user with allowed unconfirmed access' do
263
266
  before do
264
267
  @original_duration = Devise.allow_unconfirmed_access_for
265
268
  Devise.allow_unconfirmed_access_for = 3.days
266
269
  @recent_unconfirmed_user = users(:recent_unconfirmed_email_user)
267
- xhr :post, :create, {
268
- email: @recent_unconfirmed_user.email,
269
- password: 'secret123'
270
- }
270
+ post :create,
271
+ params: { email: @recent_unconfirmed_user.email,
272
+ password: 'secret123' }
271
273
  @resource = assigns(:resource)
272
274
  @data = JSON.parse(response.body)
273
275
  end
@@ -276,24 +278,23 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
276
278
  Devise.allow_unconfirmed_access_for = @original_duration
277
279
  end
278
280
 
279
- test "request should succeed" do
281
+ test 'request should succeed' do
280
282
  assert_equal 200, response.status
281
283
  end
282
284
 
283
- test "request should return user data" do
285
+ test 'request should return user data' do
284
286
  assert_equal @recent_unconfirmed_user.email, @data['data']['email']
285
287
  end
286
288
  end
287
289
 
288
- describe "Unconfirmed user with expired unconfirmed access" do
290
+ describe 'Unconfirmed user with expired unconfirmed access' do
289
291
  before do
290
292
  @original_duration = Devise.allow_unconfirmed_access_for
291
293
  Devise.allow_unconfirmed_access_for = 3.days
292
294
  @unconfirmed_user = users(:unconfirmed_email_user)
293
- xhr :post, :create, {
294
- email: @unconfirmed_user.email,
295
- password: 'secret123'
296
- }
295
+ post :create,
296
+ params: { email: @unconfirmed_user.email,
297
+ password: 'secret123' }
297
298
  @resource = assigns(:resource)
298
299
  @data = JSON.parse(response.body)
299
300
  end
@@ -302,35 +303,34 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
302
303
  Devise.allow_unconfirmed_access_for = @original_duration
303
304
  end
304
305
 
305
- test "request should fail" do
306
+ test 'request should fail' do
306
307
  assert_equal 401, response.status
307
308
  end
308
309
 
309
- test "response should contain errors" do
310
+ test 'response should contain errors' do
310
311
  assert @data['errors']
311
312
  end
312
313
  end
313
314
 
314
- describe "Non-existing user" do
315
+ describe 'Non-existing user' do
315
316
  before do
316
- xhr :post, :create, {
317
- email: -> { Faker::Internet.email },
318
- password: -> { Faker::Number.number(10) }
319
- }
317
+ post :create,
318
+ params: { email: -> { Faker::Internet.email },
319
+ password: -> { Faker::Number.number(10) } }
320
320
  @resource = assigns(:resource)
321
321
  @data = JSON.parse(response.body)
322
322
  end
323
323
 
324
- test "request should fail" do
324
+ test 'request should fail' do
325
325
  assert_equal 401, response.status
326
326
  end
327
327
 
328
- test "response should contain errors" do
328
+ test 'response should contain errors' do
329
329
  assert @data['errors']
330
330
  end
331
331
  end
332
332
 
333
- describe "Alternate user class" do
333
+ describe 'Alternate user class' do
334
334
  setup do
335
335
  @request.env['devise.mapping'] = Devise.mappings[:mang]
336
336
  end
@@ -344,20 +344,19 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
344
344
  @existing_user.skip_confirmation!
345
345
  @existing_user.save!
346
346
 
347
- xhr :post, :create, {
348
- email: @existing_user.email,
349
- password: 'secret123'
350
- }
347
+ post :create,
348
+ params: { email: @existing_user.email,
349
+ password: 'secret123' }
351
350
 
352
351
  @resource = assigns(:resource)
353
352
  @data = JSON.parse(response.body)
354
353
  end
355
354
 
356
- test "request should succeed" do
355
+ test 'request should succeed' do
357
356
  assert_equal 200, response.status
358
357
  end
359
358
 
360
- test "request should return user data" do
359
+ test 'request should return user data' do
361
360
  assert_equal @existing_user.email, @data['data']['email']
362
361
  end
363
362
  end
@@ -375,10 +374,9 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
375
374
  @existing_user = only_email_users(:user)
376
375
  @existing_user.save!
377
376
 
378
- xhr :post, :create, {
379
- email: @existing_user.email,
380
- password: 'secret123'
381
- }
377
+ post :create,
378
+ params: { email: @existing_user.email,
379
+ password: 'secret123' }
382
380
 
383
381
  @resource = assigns(:resource)
384
382
  @data = JSON.parse(response.body)
@@ -390,7 +388,7 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
390
388
  end
391
389
  end
392
390
 
393
- describe "Lockable User" do
391
+ describe 'Lockable User' do
394
392
  setup do
395
393
  @request.env['devise.mapping'] = Devise.mappings[:lockable_user]
396
394
  end
@@ -414,65 +412,62 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
414
412
  Devise.unlock_strategy = @original_unlock_strategy
415
413
  end
416
414
 
417
- describe "locked user" do
415
+ describe 'locked user' do
418
416
  before do
419
417
  @locked_user = lockable_users(:locked_user)
420
- xhr :post, :create, {
421
- email: @locked_user.email,
422
- password: 'secret123'
423
- }
418
+ post :create,
419
+ params: { email: @locked_user.email,
420
+ password: 'secret123' }
424
421
  @data = JSON.parse(response.body)
425
422
  end
426
423
 
427
- test "request should fail" do
424
+ test 'request should fail' do
428
425
  assert_equal 401, response.status
429
426
  end
430
427
 
431
- test "response should contain errors" do
428
+ test 'response should contain errors' do
432
429
  assert @data['errors']
433
- assert_equal @data['errors'], [I18n.t("devise_token_auth.sessions.not_confirmed", email: @locked_user.email)]
430
+ assert_equal @data['errors'], [I18n.t('devise_token_auth.sessions.not_confirmed', email: @locked_user.email)]
434
431
  end
435
432
  end
436
433
 
437
- describe "unlocked user with bad password" do
434
+ describe 'unlocked user with bad password' do
438
435
  before do
439
436
  @unlocked_user = lockable_users(:unlocked_user)
440
- xhr :post, :create, {
441
- email: @unlocked_user.email,
442
- password: 'bad-password'
443
- }
437
+ post :create,
438
+ params: { email: @unlocked_user.email,
439
+ password: 'bad-password' }
444
440
  @data = JSON.parse(response.body)
445
441
  end
446
442
 
447
- test "request should fail" do
443
+ test 'request should fail' do
448
444
  assert_equal 401, response.status
449
445
  end
450
446
 
451
- test "should increase failed_attempts" do
447
+ test 'should increase failed_attempts' do
452
448
  assert_equal 1, @unlocked_user.reload.failed_attempts
453
449
  end
454
450
 
455
- test "response should contain errors" do
451
+ test 'response should contain errors' do
456
452
  assert @data['errors']
457
- assert_equal @data['errors'], [I18n.t("devise_token_auth.sessions.bad_credentials")]
453
+ assert_equal @data['errors'], [I18n.t('devise_token_auth.sessions.bad_credentials')]
458
454
  end
459
455
 
460
456
  describe 'after maximum_attempts should block the user' do
461
457
  before do
462
458
  4.times do
463
- xhr :post, :create, {
464
- email: @unlocked_user.email,
465
- password: 'bad-password'
466
- }
459
+ post :create,
460
+ params: { email: @unlocked_user.email,
461
+ password: 'bad-password' }
467
462
  end
468
463
  @data = JSON.parse(response.body)
469
464
  end
470
465
 
471
- test "should increase failed_attempts" do
466
+ test 'should increase failed_attempts' do
472
467
  assert_equal 5, @unlocked_user.reload.failed_attempts
473
468
  end
474
469
 
475
- test "should block the user" do
470
+ test 'should block the user' do
476
471
  assert_equal true, @unlocked_user.reload.access_locked?
477
472
  end
478
473
  end