diff --git a/app/controllers/frontend_log_controller.rb b/app/controllers/frontend_log_controller.rb index b68f9723ca2..075e8487cf6 100644 --- a/app/controllers/frontend_log_controller.rb +++ b/app/controllers/frontend_log_controller.rb @@ -9,7 +9,7 @@ class FrontendLogController < ApplicationController 'IdV: forgot password visited' => :idv_forgot_password, 'IdV: password confirm visited' => :idv_review_info_visited, 'IdV: password confirm submitted' => proc do |analytics| - analytics.idv_review_complete + analytics.idv_review_complete(success: true) analytics.idv_final(success: true) end, 'IdV: personal key visited' => :idv_personal_key_visited, diff --git a/app/controllers/idv/review_controller.rb b/app/controllers/idv/review_controller.rb index f3b2c10f2cd..fd14c1e5707 100644 --- a/app/controllers/idv/review_controller.rb +++ b/app/controllers/idv/review_controller.rb @@ -24,6 +24,7 @@ def confirm_idv_phone_confirmed def confirm_current_password return if valid_password? + analytics.idv_review_complete(success: false) flash[:error] = t('idv.errors.incorrect_password') redirect_to idv_review_url end @@ -46,7 +47,7 @@ def create init_profile user_session[:need_personal_key_confirmation] = true redirect_to next_step - analytics.idv_review_complete + analytics.idv_review_complete(success: true) analytics.idv_final(success: true) return unless FeatureManagement.reveal_gpo_code? diff --git a/app/services/analytics_events.rb b/app/services/analytics_events.rb index f1c8760b24a..b59a1419bd8 100644 --- a/app/services/analytics_events.rb +++ b/app/services/analytics_events.rb @@ -962,8 +962,13 @@ def idv_proofing_resolution_result_missing end # User submitted IDV password confirm page - def idv_review_complete - track_event('IdV: review complete') + # @param [Boolean] success + def idv_review_complete(success:, **extra) + track_event( + 'IdV: review complete', + success: success, + **extra, + ) end # User visited IDV password confirm page diff --git a/spec/controllers/idv/review_controller_spec.rb b/spec/controllers/idv/review_controller_spec.rb index bc3a856c817..a1314559589 100644 --- a/spec/controllers/idv/review_controller_spec.rb +++ b/spec/controllers/idv/review_controller_spec.rb @@ -292,12 +292,19 @@ def show context 'user fails to supply correct password' do before do idv_session.applicant = user_attrs.merge(phone_confirmed_at: Time.zone.now) + stub_analytics + allow(@analytics).to receive(:track_event) end it 'redirects to original path' do put :create, params: { user: { password: 'wrong' } } expect(response).to redirect_to idv_review_path + + expect(@analytics).to have_received(:track_event).with( + 'IdV: review complete', + success: false, + ) end end @@ -312,7 +319,10 @@ def show it 'redirects to personal key path' do put :create, params: { user: { password: ControllerHelper::VALID_PASSWORD } } - expect(@analytics).to have_received(:track_event).with('IdV: review complete') + expect(@analytics).to have_received(:track_event).with( + 'IdV: review complete', + success: true, + ) expect(@analytics).to have_received(:track_event).with( 'IdV: final resolution', success: true,