Skip to content

Commit 8710a2d

Browse files
committed
added test for remember_me functionality on 2FA users
1 parent d6738d8 commit 8710a2d

1 file changed

Lines changed: 20 additions & 1 deletion

File tree

test/controllers/users/sessions_controller_test.rb

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,31 @@ class Users::SessionsControllerTest < ActionController::TestCase
77
test 'should sign in with 2fa backup code' do
88
@request.env['devise.mapping'] = Devise.mappings[:user]
99
Users::SessionsController.first_factor << users(:enabled_2fa).id
10-
post :verify_code, params: { uid: users(:enabled_2fa).id, code: 'M8lENyehyCvo9F9MbyTl1aOL' }
10+
11+
try_verify_2fa_code(users(:enabled_2fa))
1112

1213
assert_response(:found)
1314
assert_not_nil flash[:warning]
1415
assert_not_nil current_user
1516
assert_nil current_user.backup_2fa_code
1617
assert_not current_user.enabled_2fa
1718
end
19+
20+
test 'should remember users with 2FA if requested' do
21+
@request.env['devise.mapping'] = Devise.mappings[:user]
22+
Users::SessionsController.first_factor << users(:enabled_2fa).id
23+
24+
try_verify_2fa_code(users(:enabled_2fa), remember_me: true)
25+
26+
assert_response(:found)
27+
assert_not_nil current_user
28+
assert @controller.remember_me_is_active?(current_user)
29+
end
30+
31+
private
32+
33+
# @param user [User] user to very code for
34+
def try_verify_2fa_code(user, **opts)
35+
post :verify_code, params: { uid: user.id, code: 'M8lENyehyCvo9F9MbyTl1aOL' }.merge(opts)
36+
end
1837
end

0 commit comments

Comments
 (0)