summaryrefslogtreecommitdiff
path: root/test/controllers/sessions_controller_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/controllers/sessions_controller_test.rb')
-rw-r--r--test/controllers/sessions_controller_test.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/controllers/sessions_controller_test.rb b/test/controllers/sessions_controller_test.rb
index a5f511f5..62acd28a 100644
--- a/test/controllers/sessions_controller_test.rb
+++ b/test/controllers/sessions_controller_test.rb
@@ -23,4 +23,19 @@ class SessionsControllerTest < ActionController::TestCase
23 assert_nil session[:user_id] 23 assert_nil session[:user_id]
24 assert_response :redirect 24 assert_response :redirect
25 end 25 end
26
27 test "login with password only is withheld for enrolled users" do
28 users(:quentin).update!(:otp_secret => ROTP::Base32.random)
29 post :create, params: { login: 'quentin', password: 'monkey' }
30 assert_nil session[:user_id]
31 assert_equal users(:quentin).id, session[:pending_otp_user_id]
32 assert_redirected_to new_otp_challenge_path
33 end
34
35 test "otp_required without enrollment logs in but funnels into setup" do
36 users(:quentin).update!(:otp_required => true)
37 post :create, params: { login: 'quentin', password: 'monkey' }
38 assert session[:user_id]
39 assert_redirected_to edit_user_path(users(:quentin))
40 end
26end 41end