From 52effd36da4d19030be83964e4748edd067adc60 Mon Sep 17 00:00:00 2001 From: Andrew Duthie Date: Fri, 27 Aug 2021 14:49:23 -0400 Subject: [PATCH] LG-5025: Create separate throttle error screen for proof_ssn throttle type **Why**: So that each throttle error screen corresponds to exactly one throttle type, to accommodate accurate time labels proposed in #5301 (LG-4637). --- app/controllers/idv/session_errors_controller.rb | 4 ++++ app/services/idv/steps/verify_step.rb | 2 +- config/routes.rb | 1 + spec/controllers/idv/session_errors_controller_spec.rb | 7 +++++++ spec/services/idv/steps/verify_step_spec.rb | 4 ++-- 5 files changed, 15 insertions(+), 3 deletions(-) diff --git a/app/controllers/idv/session_errors_controller.rb b/app/controllers/idv/session_errors_controller.rb index 9de7e8ca805..8bcd4378d5b 100644 --- a/app/controllers/idv/session_errors_controller.rb +++ b/app/controllers/idv/session_errors_controller.rb @@ -10,6 +10,10 @@ def warning @remaining_step_attempts = remaining_step_attempts end + def ssn_failure + render 'idv/session_errors/failure' + end + private def remaining_step_attempts diff --git a/app/services/idv/steps/verify_step.rb b/app/services/idv/steps/verify_step.rb index c739a52ce85..393d6132007 100644 --- a/app/services/idv/steps/verify_step.rb +++ b/app/services/idv/steps/verify_step.rb @@ -26,7 +26,7 @@ def enqueue_job throttle_type: :proof_ssn, step_name: self.class, ) - redirect_to idv_session_errors_failure_url + redirect_to idv_session_errors_ssn_failure_url return end end diff --git a/config/routes.rb b/config/routes.rb index d46d6e4f8fe..30462007f94 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -274,6 +274,7 @@ put '/review' => 'review#create' get '/session/errors/warning' => 'session_errors#warning' get '/session/errors/failure' => 'session_errors#failure' + get '/session/errors/ssn_failure' => 'session_errors#ssn_failure' get '/session/errors/exception' => 'session_errors#exception' get '/session/errors/throttled' => 'session_errors#throttled' delete '/session' => 'sessions#destroy' diff --git a/spec/controllers/idv/session_errors_controller_spec.rb b/spec/controllers/idv/session_errors_controller_spec.rb index 7d0adbc605d..bced4b69186 100644 --- a/spec/controllers/idv/session_errors_controller_spec.rb +++ b/spec/controllers/idv/session_errors_controller_spec.rb @@ -72,4 +72,11 @@ it_behaves_like 'an idv session errors controller action' end + + describe '#ssn_failure' do + let(:action) { :ssn_failure } + let(:template) { 'idv/session_errors/failure' } + + it_behaves_like 'an idv session errors controller action' + end end diff --git a/spec/services/idv/steps/verify_step_spec.rb b/spec/services/idv/steps/verify_step_spec.rb index ef860b72f2c..0e59599c114 100644 --- a/spec/services/idv/steps/verify_step_spec.rb +++ b/spec/services/idv/steps/verify_step_spec.rb @@ -111,11 +111,11 @@ def redirect(step) step = build_step(controller) expect(step.call).to be_nil, 'does not enqueue a job' - expect(redirect(step)).to eq(idv_session_errors_failure_url) + expect(redirect(step)).to eq(idv_session_errors_ssn_failure_url) step2 = build_step(controller2) expect(step2.call).to be_nil, 'does not enqueue a job' - expect(redirect(step2)).to eq(idv_session_errors_failure_url) + expect(redirect(step2)).to eq(idv_session_errors_ssn_failure_url) end end end