diff --git a/app/services/usps_in_person_proofing/enrollment_helper.rb b/app/services/usps_in_person_proofing/enrollment_helper.rb index 1a500465f57..7de2212dc26 100644 --- a/app/services/usps_in_person_proofing/enrollment_helper.rb +++ b/app/services/usps_in_person_proofing/enrollment_helper.rb @@ -20,6 +20,12 @@ def schedule_in_person_enrollment(user:, pii:, is_enhanced_ipp:, opt_in: nil) enrollment_code = create_usps_enrollment(enrollment, pii, is_enhanced_ipp) return unless enrollment_code + if is_enhanced_ipp + enrollment.sponsor_id = IdentityConfig.store.usps_eipp_sponsor_id + else + enrollment.sponsor_id = IdentityConfig.store.usps_ipp_sponsor_id + end + # update the enrollment to status pending enrollment.enrollment_code = enrollment_code enrollment.status = :pending diff --git a/spec/services/usps_in_person_proofing/enrollment_helper_spec.rb b/spec/services/usps_in_person_proofing/enrollment_helper_spec.rb index 91c905eaf1d..03575d66993 100644 --- a/spec/services/usps_in_person_proofing/enrollment_helper_spec.rb +++ b/spec/services/usps_in_person_proofing/enrollment_helper_spec.rb @@ -23,6 +23,7 @@ end let(:proofer) { UspsInPersonProofing::Mock::Proofer.new } let(:is_enhanced_ipp) { false } + let(:usps_ipp_sponsor_id) { '2718281828' } before(:each) do stub_request_token @@ -38,6 +39,7 @@ allow(subject).to receive(:analytics).and_return(subject_analytics) allow(IdentityConfig.store).to receive(:usps_ipp_transliteration_enabled). and_return(usps_ipp_transliteration_enabled) + allow(IdentityConfig.store).to receive(:usps_ipp_sponsor_id).and_return(usps_ipp_sponsor_id) end describe '#schedule_in_person_enrollment' do @@ -179,10 +181,14 @@ end end - it 'sets enrollment status to pending and sets established at date and unique id' do + it <<~STR.squish do + sets enrollment status to pending, sponsor_id to usps_ipp_sponsor_id, + and sets established at date and unique id + STR subject.schedule_in_person_enrollment(user:, pii:, is_enhanced_ipp:) expect(user.in_person_enrollments.first.status).to eq(InPersonEnrollment::STATUS_PENDING) + expect(user.in_person_enrollments.first.sponsor_id).to eq(usps_ipp_sponsor_id) expect(user.in_person_enrollments.first.enrollment_established_at).to_not be_nil expect(user.in_person_enrollments.first.unique_id).to_not be_nil end @@ -331,10 +337,26 @@ allow(proofer).to receive(:request_enroll).and_call_original end context 'when the user is going through enhanced ipp' do + let!(:enrollment) do + create( + :in_person_enrollment, + user: user, + service_provider: service_provider, + status: :establishing, + profile: nil, + ) + end + it 'creates an enhanced ipp enrollment' do expect(proofer).to receive(:request_enroll).with(applicant, is_enhanced_ipp) subject.create_usps_enrollment(enrollment, pii, is_enhanced_ipp) end + + it 'saves sponsor_id on the enrollment to the usps_eipp_sponsor_id' do + subject.schedule_in_person_enrollment(user:, pii:, is_enhanced_ipp:) + + expect(user.in_person_enrollments.first.sponsor_id).to eq(usps_eipp_sponsor_id) + end end end