diff --git a/app/controllers/idv/in_person/ssn_controller.rb b/app/controllers/idv/in_person/ssn_controller.rb index c78c53a4de5..f57078a8ea8 100644 --- a/app/controllers/idv/in_person/ssn_controller.rb +++ b/app/controllers/idv/in_person/ssn_controller.rb @@ -64,10 +64,7 @@ def self.step_info controller: self, next_steps: [:ipp_verify_info], preconditions: ->(idv_session:, user:) { idv_session.ipp_document_capture_complete? }, - undo_step: ->(idv_session:, user:) do - idv_session.ssn = nil - idv_session.threatmetrix_session_id = nil - end, + undo_step: ->(idv_session:, user:) { idv_session.ssn = nil }, ) end diff --git a/app/controllers/idv/ssn_controller.rb b/app/controllers/idv/ssn_controller.rb index 4c7934c54d7..1c99d712df4 100644 --- a/app/controllers/idv/ssn_controller.rb +++ b/app/controllers/idv/ssn_controller.rb @@ -62,10 +62,7 @@ def self.step_info controller: self, next_steps: [:verify_info], preconditions: ->(idv_session:, user:) { idv_session.remote_document_capture_complete? }, - undo_step: ->(idv_session:, user:) do - idv_session.ssn = nil - idv_session.threatmetrix_session_id = nil - end, + undo_step: ->(idv_session:, user:) { idv_session.ssn = nil }, ) end diff --git a/spec/controllers/idv/link_sent_controller_spec.rb b/spec/controllers/idv/link_sent_controller_spec.rb index 8b1747897b4..a82da6328f6 100644 --- a/spec/controllers/idv/link_sent_controller_spec.rb +++ b/spec/controllers/idv/link_sent_controller_spec.rb @@ -125,6 +125,22 @@ expect(subject.idv_session.applicant).to be_nil end + # This is a regression spec that was introduced for a bug that occured + # when calling `undo_step` on the SSN controller step info caused the + # TMx session ID to be deleted when this step was resubmitted + # + # See https://cm-jira.usa.gov/browse/LG-14127 + # See https://github.com/18F/identity-idp/pull/11091#discussion_r1718831233 + it 'does not delete the TMx session ID' do + subject.idv_session.ssn = '900-12-1234' + subject.idv_session.threatmetrix_session_id = 'super-cool-test-value' + + put :update + + expect(subject.idv_session.ssn).to be_nil + expect(subject.idv_session.threatmetrix_session_id).to_not be_nil + end + it 'sends analytics_submitted event' do put :update diff --git a/spec/policies/idv/flow_policy_spec.rb b/spec/policies/idv/flow_policy_spec.rb index 885649250d4..0e5c3e5fb60 100644 --- a/spec/policies/idv/flow_policy_spec.rb +++ b/spec/policies/idv/flow_policy_spec.rb @@ -46,7 +46,6 @@ idv_session.had_barcode_attention_error = true idv_session.ssn = Idp::Constants::MOCK_IDV_APPLICANT_WITH_SSN[:ssn] - idv_session.threatmetrix_session_id = SecureRandom.uuid idv_session.address_edited = true end @@ -68,7 +67,6 @@ expect(idv_session.had_barcode_attention_error).to be_nil expect(idv_session.ssn).to be_nil - expect(idv_session.threatmetrix_session_id).to be_nil expect(idv_session.address_edited).to be_nil end @@ -90,7 +88,6 @@ idv_session.had_barcode_attention_error = true idv_session.ssn = nil - idv_session.threatmetrix_session_id = SecureRandom.uuid idv_session.address_edited = true @@ -141,8 +138,6 @@ idv_session.had_barcode_read_failure idv_session.had_barcode_attention_error - - idv_session.threatmetrix_session_id } end end