diff --git a/config/routes.rb b/config/routes.rb index 6d91b2ead64..28e67cec754 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -68,6 +68,7 @@ get '/bounced' => 'users/sp_handoff_bounced#bounced' post '/' => 'users/sessions#create', as: :user_session get '/logout' => 'users/sessions#destroy', as: :destroy_user_session + delete '/logout' => 'users/sessions#destroy' get '/active' => 'users/sessions#active' post '/sessions/keepalive' => 'users/sessions#keepalive' diff --git a/spec/controllers/users/sessions_controller_spec.rb b/spec/controllers/users/sessions_controller_spec.rb index 0582fb8612b..62368af2d5c 100644 --- a/spec/controllers/users/sessions_controller_spec.rb +++ b/spec/controllers/users/sessions_controller_spec.rb @@ -129,6 +129,25 @@ sign_in_as_user get :destroy + expect(controller.current_user).to be nil + end + end + + describe 'DELETE /logout' do + it 'tracks a logout event' do + stub_analytics + expect(@analytics).to receive(:track_event).with( + 'Logout Initiated', + hash_including( + sp_initiated: false, + oidc: false, + ), + ) + + sign_in_as_user + + delete :destroy + expect(controller.current_user).to be nil end end