diff --git a/app/controllers/idv/image_uploads_controller.rb b/app/controllers/idv/image_uploads_controller.rb index 5f1a9303c3b..30d0af89889 100644 --- a/app/controllers/idv/image_uploads_controller.rb +++ b/app/controllers/idv/image_uploads_controller.rb @@ -20,7 +20,6 @@ def create def image_upload_form @image_upload_form ||= Idv::ApiImageUploadForm.new( params, - liveness_checking_enabled: false, service_provider: current_sp, analytics: analytics, uuid_prefix: current_sp&.app_id, diff --git a/app/forms/idv/api_image_upload_form.rb b/app/forms/idv/api_image_upload_form.rb index d7e49856cbd..d3140475f06 100644 --- a/app/forms/idv/api_image_upload_form.rb +++ b/app/forms/idv/api_image_upload_form.rb @@ -5,16 +5,14 @@ class ApiImageUploadForm validates_presence_of :front validates_presence_of :back - validates_presence_of :selfie, if: :liveness_checking_enabled? validates_presence_of :document_capture_session validate :validate_images validate :throttle_if_rate_limited - def initialize(params, liveness_checking_enabled:, service_provider:, analytics: nil, + def initialize(params, service_provider:, analytics: nil, uuid_prefix: nil, irs_attempts_api_tracker: nil) @params = params - @liveness_checking_enabled = liveness_checking_enabled @service_provider = service_provider @analytics = analytics @readable = {} @@ -68,8 +66,8 @@ def post_images_to_client response = doc_auth_client.post_images( front_image: front.read, back_image: back.read, - selfie_image: selfie&.read, - liveness_checking_enabled: liveness_checking_enabled?, + selfie_image: nil, + liveness_checking_enabled: false, image_source: image_source, user_uuid: user_uuid, uuid_prefix: uuid_prefix, @@ -125,10 +123,6 @@ def determine_response(form_response:, client_response:, doc_pii_response:) client_response end - def liveness_checking_enabled? - @liveness_checking_enabled - end - def image_source if acuant_sdk_capture? DocAuth::ImageSources::ACUANT_SDK @@ -145,10 +139,6 @@ def back as_readable(:back) end - def selfie - as_readable(:selfie) - end - def document_capture_session @document_capture_session ||= DocumentCaptureSession.find_by( uuid: document_capture_session_uuid, @@ -168,12 +158,6 @@ def validate_images type: :not_a_file ) end - if selfie.is_a? DataUrlImage::InvalidUrlFormatError - errors.add( - :selfie, t('doc_auth.errors.not_a_file'), - type: :not_a_file - ) - end end def throttle_if_rate_limited @@ -272,13 +256,12 @@ def add_costs(response) Db::AddDocumentVerificationAndSelfieCosts. new(user_id: user_id, service_provider: service_provider, - liveness_checking_enabled: liveness_checking_enabled?). + liveness_checking_enabled: false). call(response) end def update_funnel(client_response) steps = %i[front_image back_image] - steps << :selfie if liveness_checking_enabled? steps.each do |step| Funnel::DocAuth::RegisterStep.new(user_id, service_provider&.issuer). call(step.to_s, :update, client_response.success?) diff --git a/spec/controllers/idv/image_uploads_controller_spec.rb b/spec/controllers/idv/image_uploads_controller_spec.rb index 257f26a8c5a..c9aa52b010b 100644 --- a/spec/controllers/idv/image_uploads_controller_spec.rb +++ b/spec/controllers/idv/image_uploads_controller_spec.rb @@ -12,7 +12,6 @@ front_image_metadata: '{"glare":99.99}', back: DocAuthImageFixtures.document_back_image_multipart, back_image_metadata: '{"glare":99.99}', - selfie: DocAuthImageFixtures.selfie_image_multipart, document_capture_session_uuid: document_capture_session.uuid, flow_path: 'standard', } diff --git a/spec/forms/idv/api_image_upload_form_spec.rb b/spec/forms/idv/api_image_upload_form_spec.rb index e09b02bdfe9..01c046806a3 100644 --- a/spec/forms/idv/api_image_upload_form_spec.rb +++ b/spec/forms/idv/api_image_upload_form_spec.rb @@ -10,10 +10,8 @@ front_image_metadata: front_image_metadata, back: back_image, back_image_metadata: back_image_metadata, - selfie: selfie_image, document_capture_session_uuid: document_capture_session_uuid, ), - liveness_checking_enabled: liveness_checking_enabled?, service_provider: build(:service_provider, issuer: 'test_issuer'), analytics: fake_analytics, irs_attempts_api_tracker: irs_attempts_api_tracker, @@ -31,7 +29,6 @@ let(:selfie_image) { DocAuthImageFixtures.selfie_image_multipart } let!(:document_capture_session) { DocumentCaptureSession.create!(user: create(:user)) } let(:document_capture_session_uuid) { document_capture_session.uuid } - let(:liveness_checking_enabled?) { true } let(:fake_analytics) { FakeAnalytics.new } let(:irs_attempts_api_tracker) { IrsAttemptsApiTrackingHelper::FakeAttemptsTracker.new } @@ -43,28 +40,6 @@ end end - context 'with valid front and back but no selfie' do - let(:selfie_image) { nil } - - context 'with liveness required' do - let(:liveness_checking_enabled?) { true } - - it 'is not valid' do - expect(form.valid?).to eq(false) - expect(form.errors[:selfie]).to eq(['Please fill in this field.']) - end - end - - context 'without liveness require' do - let(:liveness_checking_enabled?) { false } - - it 'is valid' do - expect(form.valid?).to eq(true) - expect(form.errors).to be_blank - end - end - end - context 'when document_capture_session_uuid param is missing' do let(:document_capture_session_uuid) { nil } @@ -147,9 +122,10 @@ expect(response.success?).to eq(false) expect(response.errors).to eq( { - general: [t('doc_auth.errors.alerts.selfie_failure')], - hints: false, - selfie: [t('doc_auth.errors.general.fallback_field_level')], + general: [t('doc_auth.errors.general.no_liveness')], + hints: true, + front: [t('doc_auth.errors.general.fallback_field_level')], + back: [t('doc_auth.errors.general.fallback_field_level')], }, ) expect(response.attention_with_barcode?).to eq(false) @@ -246,6 +222,7 @@ }, ) end + before do allow_any_instance_of(Idv::DocPiiForm).to receive(:submit).and_return(failed_response) end