From 2b3f9abdebe99ebe0ae1b4229774fabc952619a7 Mon Sep 17 00:00:00 2001 From: Jay Joshua <7008757+jayjay-w@users.noreply.github.com> Date: Mon, 5 Feb 2024 13:52:01 +0100 Subject: [PATCH] Change approach with testing of devise account lock/unlock --- test/controllers/sessions_controller_test.rb | 21 +++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/test/controllers/sessions_controller_test.rb b/test/controllers/sessions_controller_test.rb index 777abb8634..b7fccf1adb 100644 --- a/test/controllers/sessions_controller_test.rb +++ b/test/controllers/sessions_controller_test.rb @@ -85,21 +85,18 @@ def setup end test "should unlock locked user accounts after specified time" do + travel_to Time.zone.local(2023, 12, 12, 01, 04, 44) u = create_user login: 'test', password: '12345678', password_confirmation: '12345678', email: 'test@test.com' - maximum_attempts = Devise.maximum_attempts + Devise.unlock_in = 10.minutes + - maximum_attempts.times do - post :create, params: { api_user: { email: 'test@test.com', password: '12345679' } } - end + u.lock_access! - unlock_time = CheckConfig.get('devise_unlock_accounts_after', 5, :integer) + travel 30.minutes + post :create, params: { api_user: { email: 'test@test.com', password: '12345678' } } - travel_to unlock_time.hours.from_now + 1.hour do - u.reload - assert !u.access_locked? - assert_nil u.locked_at - end + u.reload + assert !u.access_locked? + assert_nil u.locked_at end - - end