diff --git a/app/forms/gpo_verify_form.rb b/app/forms/gpo_verify_form.rb index dc9be77effd..707a609d651 100644 --- a/app/forms/gpo_verify_form.rb +++ b/app/forms/gpo_verify_form.rb @@ -19,11 +19,11 @@ def submit result = valid? threatmetrix_check_failed = fraud_review_checker.fraud_check_failed? if result + pending_profile&.remove_gpo_deactivation_reason if pending_in_person_enrollment? UspsInPersonProofing::EnrollmentHelper.schedule_in_person_enrollment(user, pii) pending_profile&.deactivate(:in_person_verification_pending) elsif fraud_review_checker.fraud_check_failed? && threatmetrix_enabled? - pending_profile&.remove_gpo_deactivation_reason deactivate_for_fraud_review else pending_profile&.update!( diff --git a/lib/tasks/fix_in_person_pending_user.rake b/lib/tasks/fix_in_person_pending_user.rake new file mode 100644 index 00000000000..31df9e7a143 --- /dev/null +++ b/lib/tasks/fix_in_person_pending_user.rake @@ -0,0 +1,11 @@ +namespace :profiles do + desc 'If a profile is pending in-person and pending GPO remove the GPO pending status' + task fix_in_person_and_gpo_pending_user: :environment do + enrollments = InPersonEnrollment.pending.joins(:profile).where( + 'profiles.gpo_verification_pending_at IS NOT NULL', + ) + enrollments.each do |enrollment| + enrollment.profile.update!(gpo_verification_pending_at: nil) + end + end +end diff --git a/spec/forms/gpo_verify_form_spec.rb b/spec/forms/gpo_verify_form_spec.rb index f04e5f49cd2..b49d9c2e93a 100644 --- a/spec/forms/gpo_verify_form_spec.rb +++ b/spec/forms/gpo_verify_form_spec.rb @@ -135,6 +135,7 @@ expect(pending_profile).not_to be_active expect(pending_profile.deactivation_reason).to eq('in_person_verification_pending') + expect(pending_profile.gpo_verification_pending?).to eq(false) end it 'updates establishing in-person enrollment to pending' do