From 2e42600054f81b3182ac9c73a8615595ef4404a6 Mon Sep 17 00:00:00 2001 From: Steve Urciuoli Date: Mon, 19 Oct 2020 22:01:35 -0500 Subject: [PATCH 1/5] LG-3672 Fix overall success rate reporting when document_capture_step_enabled --- .../idv/image_uploads_controller.rb | 25 +++++++++++++++---- .../idv/image_uploads_controller_spec.rb | 22 ++++++++++++++++ 2 files changed, 42 insertions(+), 5 deletions(-) diff --git a/app/controllers/idv/image_uploads_controller.rb b/app/controllers/idv/image_uploads_controller.rb index 58045c87342..5317aec93cf 100644 --- a/app/controllers/idv/image_uploads_controller.rb +++ b/app/controllers/idv/image_uploads_controller.rb @@ -19,11 +19,7 @@ def create liveness_checking_enabled: liveness_checking_enabled?, ) - add_costs(client_response) - analytics.track_event( - Analytics::IDV_DOC_AUTH_SUBMITTED_IMAGE_UPLOAD_VENDOR, - client_response.to_h.merge(user_id: image_form.document_capture_session.user.uuid), - ) + update_analytics(client_response) store_pii(client_response) if client_response.success? status = :bad_request unless client_response.success? @@ -61,6 +57,25 @@ def doc_auth_client @doc_auth_client ||= DocAuthRouter.client end + def update_analytics(client_response) + add_costs(client_response) + update_funnel(client_response) + analytics.track_event( + Analytics::IDV_DOC_AUTH_SUBMITTED_IMAGE_UPLOAD_VENDOR, + client_response.to_h.merge(user_id: image_form.document_capture_session.user.uuid), + ) + end + + def update_funnel(result) + user_id = image_form.document_capture_session.user.id + issuer = sp_session[:issuer] + steps = %i[front_image back_image] + steps << :selfie if liveness_checking_enabled? + steps.each do |step| + Funnel::DocAuth::RegisterStep.new(user_id, issuer).call(step.to_s, :update, result.success?) + end + end + def add_costs(client_response) Db::AddDocumentVerificationAndSelfieCosts. new(user_id: image_form.document_capture_session.user.id, diff --git a/spec/controllers/idv/image_uploads_controller_spec.rb b/spec/controllers/idv/image_uploads_controller_spec.rb index b5e797747a2..3224059e679 100644 --- a/spec/controllers/idv/image_uploads_controller_spec.rb +++ b/spec/controllers/idv/image_uploads_controller_spec.rb @@ -15,6 +15,10 @@ } end + before do + Funnel::DocAuth::RegisterStep.new(user.id, '').call('welcome', :view, true) + end + context 'when document capture is not enabled' do before do allow(FeatureManagement).to receive(:document_capture_step_enabled?).and_return(false) @@ -64,6 +68,8 @@ ) action + + expect_funnel_update_counts(user, 0) end end @@ -113,6 +119,8 @@ ) action + + expect_funnel_update_counts(user, 0) end end @@ -168,6 +176,8 @@ ) action + + expect_funnel_update_counts(user, 0) end end @@ -203,6 +213,8 @@ ) action + + expect_funnel_update_counts(user, 1) end end @@ -252,6 +264,8 @@ ) action + + expect_funnel_update_counts(user, 1) end end @@ -295,8 +309,16 @@ ) action + + expect_funnel_update_counts(user, 1) end end end end + + def expect_funnel_update_counts(user, count) + doc_auth_log = DocAuthLog.where(user_id: user.id).first + expect(doc_auth_log.front_image_submit_count).to eq(count) + expect(doc_auth_log.back_image_submit_count).to eq(count) + end end From ede367a46dc3515733c9bd075206ac4226b4e556 Mon Sep 17 00:00:00 2001 From: Steve Urciuoli Date: Mon, 19 Oct 2020 22:35:43 -0500 Subject: [PATCH 2/5] i18n used --- app/views/layouts/user_mailer.html.erb | 2 +- config/locales/errors/en.yml | 2 -- config/locales/errors/es.yml | 2 -- config/locales/errors/fr.yml | 2 -- 4 files changed, 1 insertion(+), 7 deletions(-) diff --git a/app/views/layouts/user_mailer.html.erb b/app/views/layouts/user_mailer.html.erb index d2dd8ddc869..32f6178815a 100644 --- a/app/views/layouts/user_mailer.html.erb +++ b/app/views/layouts/user_mailer.html.erb @@ -43,7 +43,7 @@ <%= image_tag( - attachments['logo.png'].url, + enattachments['logo.png'].url, size: '142x19', style: 'width: 142px; height: 19px;', ) %> diff --git a/config/locales/errors/en.yml b/config/locales/errors/en.yml index 4825d9c4d33..dfae0f9f35b 100644 --- a/config/locales/errors/en.yml +++ b/config/locales/errors/en.yml @@ -67,8 +67,6 @@ en: photo_glare: Photo has glare, please try again. quota_reached: Sorry your service provider has reached its identity verification limit. Please contact your service provider for more information. - selfie: We couldn't read the photo of yourself, or match the photo to your ID. - Try taking a new picture. send_link_throttle: You tried too many times, please try again in 10 minutes. You can also click on Start Over and choose to use your computer instead. file_input: diff --git a/config/locales/errors/es.yml b/config/locales/errors/es.yml index 32b6fe726ab..8b988548ae4 100644 --- a/config/locales/errors/es.yml +++ b/config/locales/errors/es.yml @@ -68,8 +68,6 @@ es: quota_reached: Lo sentimos, su proveedor de servicios ha alcanzado su límite de verificación de identidad. Póngase en contacto con su proveedor de servicios para obtener más información. - selfie: No pudimos leer tu foto ni hacer coincidir la foto con tu identificación. - Intente tomar una nueva foto. send_link_throttle: Lo intentaste muchas veces, vuelve a intentarlo en 10 minutos. También puedes hacer clic en comenzar de nuevo y elegir usar tu computadora. file_input: diff --git a/config/locales/errors/fr.yml b/config/locales/errors/fr.yml index a1eda2b6c74..6e3384fa310 100644 --- a/config/locales/errors/fr.yml +++ b/config/locales/errors/fr.yml @@ -68,8 +68,6 @@ fr: quota_reached: Désolé, votre fournisseur de services a atteint sa limite de vérification d'identité. Veuillez contacter votre fournisseur de services pour plus d'informations. - selfie: Nous n'avons pas pu lire la photo de vous ni faire correspondre la photo - à votre pièce d'identité. Essayez de prendre une nouvelle photo. send_link_throttle: Vous avez essayé plusieurs fois, essayez à nouveau dans 10 minutes. Vous pouvez également cliquer sur recommencer et choisir d'utiliser votre ordinateur. From c26efc58baebf4f7ff9740896ff95d48422c2c04 Mon Sep 17 00:00:00 2001 From: Steve Urciuoli Date: Tue, 20 Oct 2020 00:16:02 -0500 Subject: [PATCH 3/5] Typo --- app/views/layouts/user_mailer.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/layouts/user_mailer.html.erb b/app/views/layouts/user_mailer.html.erb index 32f6178815a..d2dd8ddc869 100644 --- a/app/views/layouts/user_mailer.html.erb +++ b/app/views/layouts/user_mailer.html.erb @@ -43,7 +43,7 @@ <%= image_tag( - enattachments['logo.png'].url, + attachments['logo.png'].url, size: '142x19', style: 'width: 142px; height: 19px;', ) %> From b8d712d684f49c70f2f22ec907cba1809fb6002b Mon Sep 17 00:00:00 2001 From: Steve Urciuoli Date: Tue, 20 Oct 2020 08:49:46 -0500 Subject: [PATCH 4/5] Revert --- config/locales/errors/en.yml | 2 ++ config/locales/errors/es.yml | 2 ++ config/locales/errors/fr.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/config/locales/errors/en.yml b/config/locales/errors/en.yml index dfae0f9f35b..4825d9c4d33 100644 --- a/config/locales/errors/en.yml +++ b/config/locales/errors/en.yml @@ -67,6 +67,8 @@ en: photo_glare: Photo has glare, please try again. quota_reached: Sorry your service provider has reached its identity verification limit. Please contact your service provider for more information. + selfie: We couldn't read the photo of yourself, or match the photo to your ID. + Try taking a new picture. send_link_throttle: You tried too many times, please try again in 10 minutes. You can also click on Start Over and choose to use your computer instead. file_input: diff --git a/config/locales/errors/es.yml b/config/locales/errors/es.yml index 8b988548ae4..32b6fe726ab 100644 --- a/config/locales/errors/es.yml +++ b/config/locales/errors/es.yml @@ -68,6 +68,8 @@ es: quota_reached: Lo sentimos, su proveedor de servicios ha alcanzado su límite de verificación de identidad. Póngase en contacto con su proveedor de servicios para obtener más información. + selfie: No pudimos leer tu foto ni hacer coincidir la foto con tu identificación. + Intente tomar una nueva foto. send_link_throttle: Lo intentaste muchas veces, vuelve a intentarlo en 10 minutos. También puedes hacer clic en comenzar de nuevo y elegir usar tu computadora. file_input: diff --git a/config/locales/errors/fr.yml b/config/locales/errors/fr.yml index 6e3384fa310..a1eda2b6c74 100644 --- a/config/locales/errors/fr.yml +++ b/config/locales/errors/fr.yml @@ -68,6 +68,8 @@ fr: quota_reached: Désolé, votre fournisseur de services a atteint sa limite de vérification d'identité. Veuillez contacter votre fournisseur de services pour plus d'informations. + selfie: Nous n'avons pas pu lire la photo de vous ni faire correspondre la photo + à votre pièce d'identité. Essayez de prendre une nouvelle photo. send_link_throttle: Vous avez essayé plusieurs fois, essayez à nouveau dans 10 minutes. Vous pouvez également cliquer sur recommencer et choisir d'utiliser votre ordinateur. From af454e6d57ddbd0baee7ca81a04b9f4985a6601d Mon Sep 17 00:00:00 2001 From: Steve Urciuoli Date: Tue, 20 Oct 2020 09:55:44 -0500 Subject: [PATCH 5/5] Noop --- spec/controllers/idv/image_uploads_controller_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/controllers/idv/image_uploads_controller_spec.rb b/spec/controllers/idv/image_uploads_controller_spec.rb index 3224059e679..360a932f9ef 100644 --- a/spec/controllers/idv/image_uploads_controller_spec.rb +++ b/spec/controllers/idv/image_uploads_controller_spec.rb @@ -318,7 +318,7 @@ def expect_funnel_update_counts(user, count) doc_auth_log = DocAuthLog.where(user_id: user.id).first - expect(doc_auth_log.front_image_submit_count).to eq(count) expect(doc_auth_log.back_image_submit_count).to eq(count) + expect(doc_auth_log.front_image_submit_count).to eq(count) end end