diff --git a/app/controllers/idv/in_person/passport_controller.rb b/app/controllers/idv/in_person/passport_controller.rb index bf66d130d0f..74c0fec14f4 100644 --- a/app/controllers/idv/in_person/passport_controller.rb +++ b/app/controllers/idv/in_person/passport_controller.rb @@ -14,6 +14,7 @@ def show end def update + enrollment.update!(document_type: :passport_book) redirect_to idv_in_person_address_path end @@ -52,6 +53,10 @@ def analytics_arguments .merge(extra_analytics_properties) end + def enrollment + current_user.establishing_in_person_enrollment + end + def initialize_pii_from_user user_session['idv/in_person'] ||= {} user_session['idv/in_person']['pii_from_user'] ||= { uuid: current_user.uuid } diff --git a/config/routes.rb b/config/routes.rb index d160159f60a..60d8b49976d 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -444,7 +444,6 @@ put '/in_person' => 'in_person#update' get '/in_person/choose_id_type' => 'in_person/choose_id_type#show' put '/in_person/choose_id_type' => 'in_person/choose_id_type#update' - get '/in_person/passport' => 'in_person/passport#show' get '/in_person/ready_to_verify' => 'in_person/ready_to_verify#show', as: :in_person_ready_to_verify post '/in_person/usps_locations' => 'in_person/usps_locations#index' diff --git a/spec/controllers/idv/in_person/passport_controller_spec.rb b/spec/controllers/idv/in_person/passport_controller_spec.rb index d7604aa1fbd..fd2241c5ddf 100644 --- a/spec/controllers/idv/in_person/passport_controller_spec.rb +++ b/spec/controllers/idv/in_person/passport_controller_spec.rb @@ -8,7 +8,7 @@ create(:document_capture_session, user:, passport_status: 'requested') end let(:idv_session) { subject.idv_session } - let(:enrollment) { InPersonEnrollment.new } + let(:enrollment) { create(:in_person_enrollment, :establishing, user: user) } before do stub_sign_in(user) @@ -71,6 +71,7 @@ it 'renders the passport form' do expect(response).to render_template 'idv/in_person/passport/show' + expect(enrollment.document_type).to eq(nil) end it 'logs the idv_in_person_proofing_passport_visited event' do @@ -99,13 +100,20 @@ end describe '#update' do - before do - allow(idv_session).to receive(:in_person_passports_allowed?).and_return(true) - put :update - end + context 'when in person passports are allowed' do + before do + allow(idv_session).to receive(:in_person_passports_allowed?).and_return(true) + expect(enrollment.document_type).to eq(nil) + put :update + end - it 'redirects to the address form' do - expect(response).to redirect_to(idv_in_person_address_path) + it 'sets the enrollment document type' do + expect(enrollment.document_type).to eq(InPersonEnrollment::DOCUMENT_TYPE_PASSPORT_BOOK) + end + + it 'redirects to the address form' do + expect(response).to redirect_to(idv_in_person_address_path) + end end end end diff --git a/spec/factories/in_person_enrollments.rb b/spec/factories/in_person_enrollments.rb index f8de766945b..705e1ae4b59 100644 --- a/spec/factories/in_person_enrollments.rb +++ b/spec/factories/in_person_enrollments.rb @@ -76,5 +76,9 @@ trait :state_id do document_type { :state_id } end + + trait :passport_book do + document_type { :passport_book } + end end end