diff --git a/app/assets/images/idv/mobile-phone-icon.svg b/app/assets/images/idv/mobile-phone-icon.svg new file mode 100644 index 00000000000..a84148c5b4a --- /dev/null +++ b/app/assets/images/idv/mobile-phone-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/controllers/idv/how_to_verify_controller.rb b/app/controllers/idv/how_to_verify_controller.rb index e6eee018ee7..e9abd7d9f92 100644 --- a/app/controllers/idv/how_to_verify_controller.rb +++ b/app/controllers/idv/how_to_verify_controller.rb @@ -7,6 +7,7 @@ class HowToVerifyController < ApplicationController include RenderConditionConcern before_action :confirm_step_allowed + before_action :set_how_to_verify_presenter check_or_render_not_found -> { self.class.enabled? } @@ -90,5 +91,10 @@ def how_to_verify_form_params rescue ActionController::ParameterMissing ActionController::Parameters.new(selection: []) end + + def set_how_to_verify_presenter + @selfie_required = idv_session.selfie_check_required + @presenter = Idv::HowToVerifyPresenter.new(selfie_check_required: @selfie_required) + end end end diff --git a/app/presenters/idv/how_to_verify_presenter.rb b/app/presenters/idv/how_to_verify_presenter.rb new file mode 100644 index 00000000000..ed3ba1574cd --- /dev/null +++ b/app/presenters/idv/how_to_verify_presenter.rb @@ -0,0 +1,84 @@ +# frozen_string_literal: true + +class Idv::HowToVerifyPresenter + include ActionView::Helpers::TagHelper + include ActionView::Helpers::TranslationHelper + + attr_reader :selfie_required + + def initialize(selfie_check_required:) + @selfie_required = selfie_check_required + end + + def how_to_verify_info + if selfie_required + t('doc_auth.info.how_to_verify_selfie') + else + t('doc_auth.info.how_to_verify') + end + end + + def asset_url + if selfie_required + 'idv/mobile-phone-icon.svg' + else + 'idv/remote.svg' + end + end + + def alt_text + if selfie_required + t('image_description.phone_icon') + else + t('image_description.laptop_and_phone') + end + end + + def verify_online_text + if selfie_required + t('doc_auth.headings.verify_online_selfie') + else + t('doc_auth.headings.verify_online') + end + end + + def verify_online_instruction + if selfie_required + t('doc_auth.info.verify_online_instruction_selfie') + else + t('doc_auth.info.verify_online_instruction') + end + end + + def verify_online_description + if selfie_required + t('doc_auth.info.verify_online_description_selfie') + else + t('doc_auth.info.verify_online_description') + end + end + + def submit + if selfie_required + t('forms.buttons.continue_remote_selfie') + else + t('forms.buttons.continue_remote') + end + end + + def post_office_instruction + if selfie_required + t('doc_auth.info.verify_at_post_office_instruction_selfie') + else + t('doc_auth.info.verify_at_post_office_instruction') + end + end + + def post_office_description + if selfie_required + t('doc_auth.info.verify_at_post_office_description_selfie') + else + t('doc_auth.info.verify_at_post_office_description') + end + end +end diff --git a/app/views/idv/how_to_verify/show.html.erb b/app/views/idv/how_to_verify/show.html.erb index 0a72efe4a55..ebda9307adf 100644 --- a/app/views/idv/how_to_verify/show.html.erb +++ b/app/views/idv/how_to_verify/show.html.erb @@ -1,24 +1,22 @@ <% self.title = t('doc_auth.headings.how_to_verify') %> - <%= render PageHeadingComponent.new.with_content(t('doc_auth.headings.how_to_verify')) %> -

<%= t('doc_auth.info.how_to_verify') %>

- +

<%= @presenter.how_to_verify_info %>

- <%= image_tag( - asset_url('idv/remote.svg'), - width: 88, - height: 88, - class: 'margin-right-1 margin-top-4', - alt: t('image_description.laptop_and_phone'), - ) %> + <%= image_tag( + asset_url(@presenter.asset_url), + width: 88, + height: 88, + class: 'margin-right-1 margin-top-0 tablet:margin-top-4', + alt: @presenter.alt_text, + ) %>
<%= simple_form_for( @idv_how_to_verify_form, html: { id: nil, - aria: { label: t('forms.buttons.continue_remote') }, + aria: { label: @presenter.submit }, }, method: :put, url: idv_how_to_verify_url, @@ -31,14 +29,18 @@ <%= f.label( :selection_remote, ) do %> -

<%= t('doc_auth.headings.verify_online') %>

-
-

<%= t('doc_auth.info.verify_online_instruction') %>

-

<%= t('doc_auth.info.verify_online_description') %>

-
- + <% if @selfie_required %> + + <%= t('doc_auth.tips.mobile_phone_required') %> + + <% end %> +

<%= @presenter.verify_online_text %>

+
+

<%= @presenter.verify_online_instruction %>

+

<%= @presenter.verify_online_description %>

+
<% end %> - <%= f.submit t('forms.buttons.continue_remote'), class: 'display-block margin-top-3 margin-bottom-5' %> + <%= f.submit @presenter.submit, class: 'display-block margin-top-3 margin-bottom-5' %> <% end %>
@@ -72,8 +74,8 @@ ) do %>

<%= t('doc_auth.headings.verify_at_post_office') %>

-

<%= t('doc_auth.info.verify_at_post_office_instruction') %>

-

<%= t('doc_auth.info.verify_at_post_office_description') %>

+

<%= @presenter.post_office_instruction %>

+

<%= @presenter.post_office_description %>

<% end %> <%= f.submit t('forms.buttons.continue_ipp'), class: 'display-block margin-top-3 margin-bottom-5', outline: true %> diff --git a/config/locales/en.yml b/config/locales/en.yml index b74b660d90f..895c42776ad 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -569,6 +569,7 @@ doc_auth.headings.upload_from_phone: Use your phone to take photos doc_auth.headings.verify_at_post_office: Verify your identity at a Post Office doc_auth.headings.verify_identity: Verify your identity doc_auth.headings.verify_online: Verify your identity online +doc_auth.headings.verify_online_selfie: Verify your identity online using your phone doc_auth.headings.welcome: Let’s verify your identity for %{sp_name} doc_auth.hybrid_flow_warning.explanation_html: You’re using %{app_name} to verify your identity for access to %{service_provider_name} and its services. doc_auth.hybrid_flow_warning.explanation_non_sp_html: You’re using %{app_name} to verify your identity. @@ -587,6 +588,7 @@ doc_auth.info.exit.without_sp: Exit identity verification and go to your account doc_auth.info.getting_started_html: '%{sp_name} needs to make sure you are you — not someone pretending to be you. %{link_html}' doc_auth.info.getting_started_learn_more: Learn more about verifying your identity doc_auth.info.how_to_verify: You have the option to verify your identity online, or in person at a participating Post Office. +doc_auth.info.how_to_verify_selfie: You have the option to verify your identity online with your phone, or in person at a participating Post Office. doc_auth.info.how_to_verify_troubleshooting_options_header: Want to learn more about how to verify your identity? doc_auth.info.hybrid_handoff: We’ll collect information about you by reading your state‑issued ID. doc_auth.info.hybrid_handoff_ipp_html: 'Don’t have a mobile phone? You can verify your identity at a United States Post Office instead.' @@ -615,11 +617,15 @@ doc_auth.info.tag: Recommended doc_auth.info.upload_from_computer: Don’t have a phone? Upload photos of your ID from this computer. doc_auth.info.upload_from_phone: You won’t have to sign in again, and you’ll switch back to this computer after you take photos. Your mobile phone must have a camera and a web browser. doc_auth.info.verify_at_post_office_description: This option is better if you don’t have a phone to take photos of your ID. +doc_auth.info.verify_at_post_office_description_selfie: Choose this option if you don’t have a phone to take pictures. doc_auth.info.verify_at_post_office_instruction: You’ll enter your ID information online, and verify your identity in person at a participating Post Office. +doc_auth.info.verify_at_post_office_instruction_selfie: You’ll enter your ID information online, and verify your identity in person at a participating Post Office. doc_auth.info.verify_at_post_office_link_text: Learn more about verifying in person doc_auth.info.verify_identity: We’ll ask for your ID, phone number, and other personal information to verify your identity against public records. doc_auth.info.verify_online_description: This option is better if you have a phone to take photos of your ID. +doc_auth.info.verify_online_description_selfie: Choose this option if you have a phone to take pictures. doc_auth.info.verify_online_instruction: You’ll take photos of your ID to verify your identity fully online. Most users finish this process in one sitting. +doc_auth.info.verify_online_instruction_selfie: You’ll take photos of your ID and a photo of yourself using a phone. Most users finish this process in one sitting. doc_auth.info.verify_online_link_text: Learn more about verifying online doc_auth.info.you_entered: 'You entered:' doc_auth.instructions.bullet1: Have a driver’s license or state ID @@ -647,6 +653,7 @@ doc_auth.tips.document_capture_selfie_text1: Remove any clothing items or access doc_auth.tips.document_capture_selfie_text2: Take your photo in a well-lit place. doc_auth.tips.document_capture_selfie_text3: Keep your expression neutral. doc_auth.tips.document_capture_selfie_text4: Make sure your whole face is visible within the green circle. +doc_auth.tips.mobile_phone_required: Mobile Phone Required doc_auth.tips.review_issues_id_header_text: 'Review the images of your state‑issued ID:' doc_auth.tips.review_issues_id_text1: Did you use a dark background? doc_auth.tips.review_issues_id_text2: Did you take the photo on a flat surface? @@ -804,6 +811,7 @@ forms.buttons.confirm: Confirm forms.buttons.continue: Continue forms.buttons.continue_ipp: Continue in person forms.buttons.continue_remote: Continue online +forms.buttons.continue_remote_selfie: Continue on your phone forms.buttons.delete: Delete forms.buttons.disable: Delete forms.buttons.edit: Edit diff --git a/config/locales/es.yml b/config/locales/es.yml index ee87621e9c9..813a355dc15 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -569,6 +569,7 @@ doc_auth.headings.upload_from_phone: Utilice su teléfono para tomar fotos doc_auth.headings.verify_at_post_office: Verifique su identidad en una oficina de correos doc_auth.headings.verify_identity: Verifique su identidad doc_auth.headings.verify_online: Verifique su identidad en línea +doc_auth.headings.verify_online_selfie: Verifique su identidad en línea con su teléfono doc_auth.headings.welcome: Verifiquemos su identidad para %{sp_name} doc_auth.hybrid_flow_warning.explanation_html: Está utilizando %{app_name} para verificar su identidad y acceder a %{service_provider_name} y sus servicios. doc_auth.hybrid_flow_warning.explanation_non_sp_html: Está utilizando %{app_name} para verificar su identidad. @@ -587,6 +588,7 @@ doc_auth.info.exit.without_sp: Salga de la verificación de identidad y vaya a l doc_auth.info.getting_started_html: '%{sp_name} necesita asegurarse de que se trata de usted y no de alguien que se hace pasar por usted. %{link_html}' doc_auth.info.getting_started_learn_more: Obtenga más información sobre la verificación de su identidad doc_auth.info.how_to_verify: Tiene la opción de verificar su identidad en línea o en persona en una oficina de correos participante. +doc_auth.info.how_to_verify_selfie: Tiene la opción de verificar su identidad en línea con su teléfono, o en persona en una oficina de correos participante. doc_auth.info.how_to_verify_troubleshooting_options_header: '¿Desea obtener más información sobre cómo verificar su identidad?' doc_auth.info.hybrid_handoff: Recopilaremos información sobre usted leyendo su identificación emitida por el estado. doc_auth.info.hybrid_handoff_ipp_html: '¿No tiene un teléfono móvil? Puede verificar su identidad en una oficina de correos de los Estados Unidos.' @@ -615,11 +617,15 @@ doc_auth.info.tag: Recomendado doc_auth.info.upload_from_computer: '¿No tiene un teléfono? Cargue fotos de su identificación desde esta computadora.' doc_auth.info.upload_from_phone: No tendrá que volver a iniciar sesión y volverá a esta computadora después de tomar las fotos. Su teléfono móvil debe tener una cámara y un navegador web. doc_auth.info.verify_at_post_office_description: Esta opción es mejor si no tiene un teléfono para tomar fotografías de su identificación. +doc_auth.info.verify_at_post_office_description_selfie: Elija esta opción si no tiene un teléfono para tomar fotografías. doc_auth.info.verify_at_post_office_instruction: Ingresará la información de su identificación en línea y verificará su identidad en persona en una oficina de correos participante. +doc_auth.info.verify_at_post_office_instruction_selfie: Ingresará la información de su identificación en línea, y verificará su identidad en persona en una oficina de correos participante. doc_auth.info.verify_at_post_office_link_text: Obtenga más información sobre la verificación en persona doc_auth.info.verify_identity: Le pediremos su identificación, número de teléfono y otros datos personales para verificar su identidad comparándola con los registros públicos. doc_auth.info.verify_online_description: Esta opción es mejor si tiene un teléfono para tomar fotografías de su identificación. +doc_auth.info.verify_online_description_selfie: Elija esta opción si tiene un teléfono para tomar fotografías. doc_auth.info.verify_online_instruction: Tomará fotografías de su identificación para verificar su identidad por completo en línea. La mayoría de los usuarios logran terminar este proceso en una sola sesión. +doc_auth.info.verify_online_instruction_selfie: Tomará con un teléfono fotos de su identificación y una foto de usted. La mayoría de los usuarios logran terminar este proceso en una sola sesión. doc_auth.info.verify_online_link_text: Obtenga más información sobre la verificación en línea doc_auth.info.you_entered: 'Usted ingresó:' doc_auth.instructions.bullet1: Tener una licencia de conducir o una tarjeta de identificación estatal @@ -647,6 +653,7 @@ doc_auth.tips.document_capture_selfie_text1: Quite cualquier prenda o accesorio doc_auth.tips.document_capture_selfie_text2: Tómese la foto en un lugar bien iluminado. doc_auth.tips.document_capture_selfie_text3: Mantenga una expresión neutral. doc_auth.tips.document_capture_selfie_text4: Revise que se vea su rostro completo dentro del círculo verde. +doc_auth.tips.mobile_phone_required: Se necesita un teléfono móvil doc_auth.tips.review_issues_id_header_text: 'Revise las imágenes de su identificación emitida por el estado:' doc_auth.tips.review_issues_id_text1: '¿Usó un fondo de color oscuro?' doc_auth.tips.review_issues_id_text2: '¿Tomó la foto en una superficie plana?' @@ -804,6 +811,7 @@ forms.buttons.confirm: Confirmar forms.buttons.continue: Continuar forms.buttons.continue_ipp: Continúe en persona forms.buttons.continue_remote: Continúe en línea +forms.buttons.continue_remote_selfie: Continúe en su teléfono forms.buttons.delete: Eliminar forms.buttons.disable: Eliminar forms.buttons.edit: Editar diff --git a/config/locales/fr.yml b/config/locales/fr.yml index bc8c6cdde69..f217be0c8e4 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -569,6 +569,7 @@ doc_auth.headings.upload_from_phone: Utiliser votre téléphone pour prendre des doc_auth.headings.verify_at_post_office: Confirmer votre identité dans un bureau de poste doc_auth.headings.verify_identity: Confirmer votre identité doc_auth.headings.verify_online: Confirmer votre identité en ligne +doc_auth.headings.verify_online_selfie: Confirmer votre identité en ligne à l’aide de votre téléphone doc_auth.headings.welcome: Vérifions votre identité auprès de %{sp_name} doc_auth.hybrid_flow_warning.explanation_html: Vous utilisez %{app_name} pour confirmer votre identité et accéder à %{service_provider_name} et à ses services. doc_auth.hybrid_flow_warning.explanation_non_sp_html: Vous utilisez %{app_name} pour confirmer votre identité. @@ -587,6 +588,7 @@ doc_auth.info.exit.without_sp: Quitter la vérification d’identité et accéde doc_auth.info.getting_started_html: '%{sp_name} doit s’assurer qu’il s’agit bien de vous et non de quelqu’un qui se fait passer pour vous. %{link_html}' doc_auth.info.getting_started_learn_more: En savoir plus sur la vérification de votre identité doc_auth.info.how_to_verify: Vous avez la possibilité de vérifier votre identité en ligne ou en personne dans un bureau de poste participant. +doc_auth.info.how_to_verify_selfie: Vous avez la possibilité de confirmer votre identité en ligne avec votre téléphone ou en personne dans un bureau de poste participant. doc_auth.info.how_to_verify_troubleshooting_options_header: Vous voulez en savoir plus sur la façon de confirmer votre identité ? doc_auth.info.hybrid_handoff: Nous recueillerons des informations vous concernant en lisant votre pièce d’identité délivrée par un État. doc_auth.info.hybrid_handoff_ipp_html: 'Vous n’avez pas de téléphone portable? Vous pouvez confirmer votre identité dans un bureau de poste américain participant.' @@ -615,11 +617,15 @@ doc_auth.info.tag: Recommandation doc_auth.info.upload_from_computer: Vous n’avez pas de téléphone ? Téléchargez les photos de votre pièce d’identité depuis cet ordinateur. doc_auth.info.upload_from_phone: Vous n’aurez pas à vous reconnecter. Vous reviendrez sur cet ordinateur après avoir pris des photos. Votre téléphone portable doit être équipé d’un appareil photo et d’un navigateur web. doc_auth.info.verify_at_post_office_description: Cette option est préférable si vous n’avez pas de téléphone pour prendre des photos de votre pièce d’identité. +doc_auth.info.verify_at_post_office_description_selfie: Choisissez cette option si vous ne disposez pas d’un téléphone permettant de prendre des photos. doc_auth.info.verify_at_post_office_instruction: Vous saisirez vos données d’identification en ligne et confirmerez votre identité en personne dans un bureau de poste participant. +doc_auth.info.verify_at_post_office_instruction_selfie: Vous saisirez vos données d’identification en ligne et confirmez votre identité en personne dans un bureau de poste participant. doc_auth.info.verify_at_post_office_link_text: En savoir plus sur la vérification en personne doc_auth.info.verify_identity: Nous vous demanderons votre pièce d’identité, numéro de téléphone et d’autres renseignements personnels afin de confirmer votre identité par rapport aux registres publics. doc_auth.info.verify_online_description: Cette option est préférable si vous disposez d’un téléphone pour prendre des photos de votre pièce d’identité. +doc_auth.info.verify_online_description_selfie: Choisissez cette option si vous disposez d’un téléphone permettant de prendre des photos. doc_auth.info.verify_online_instruction: Vous prendrez des photos de votre pièce d’identité pour confirmer votre identité entièrement en ligne. La plupart des utilisateurs effectuent l’ensemble du processus en une seule fois. +doc_auth.info.verify_online_instruction_selfie: Vous prendrez des photos de votre pièce d’identité et une photo de vous-même avec un téléphone. La plupart des utilisateurs y parviennent en une seule prise. doc_auth.info.verify_online_link_text: En savoir plus sur la vérification en ligne doc_auth.info.you_entered: 'Vous avez saisi :' doc_auth.instructions.bullet1: Présenter votre permis de conduire ou votre carte d’identité d’un État @@ -647,6 +653,7 @@ doc_auth.tips.document_capture_selfie_text1: Retirez tous articles ou accessoire doc_auth.tips.document_capture_selfie_text2: Prenez votre photo dans un endroit bien éclairé. doc_auth.tips.document_capture_selfie_text3: Gardez une expression neutre. doc_auth.tips.document_capture_selfie_text4: Assurez-vous que l’ensemble de votre visage soit visible à l’intérieur du cercle vert. +doc_auth.tips.mobile_phone_required: Téléphone mobile nécessaire doc_auth.tips.review_issues_id_header_text: 'Examinez les images de votre carte d’identité délivrée par l’État :' doc_auth.tips.review_issues_id_text1: Avez-vous utilisé un arrière-plan de couleur sombre ? doc_auth.tips.review_issues_id_text2: Avez-vous pris la photo sur une surface plane ? @@ -804,6 +811,7 @@ forms.buttons.confirm: Confirmer forms.buttons.continue: Suite forms.buttons.continue_ipp: Continuer en personne forms.buttons.continue_remote: Continuer en ligne +forms.buttons.continue_remote_selfie: Continuer sur votre téléphone forms.buttons.delete: Supprimer forms.buttons.disable: Supprimer forms.buttons.edit: Modifier diff --git a/config/locales/zh.yml b/config/locales/zh.yml index 075c2e163fc..275783ace2e 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -569,6 +569,7 @@ doc_auth.headings.upload_from_phone: 使用手机拍照 doc_auth.headings.verify_at_post_office: 去邮局验证身份 doc_auth.headings.verify_identity: 验证你的身份 doc_auth.headings.verify_online: 在网上验证你的身份 +doc_auth.headings.verify_online_selfie: 使用手机在网上验证你的身份 doc_auth.headings.welcome: 开始验证你的身份 doc_auth.hybrid_flow_warning.explanation_html: 你在使用 %{app_name} 验证身份以访问 %{service_provider_name} 及其服务。 doc_auth.hybrid_flow_warning.explanation_non_sp_html: 你在使用 %{app_name} 验证身份。 @@ -587,6 +588,7 @@ doc_auth.info.exit.without_sp: 退出身份验证并到你的账户页面 doc_auth.info.getting_started_html: '%{sp_name} needs to make sure you are you — not someone pretending to be you. %{link_html}' doc_auth.info.getting_started_learn_more: Learn more about verifying your identity doc_auth.info.how_to_verify: 你有在网上验证身份或者到参与邮件亲身验证身份的选择 +doc_auth.info.how_to_verify_selfie: 你可以选择用你的手机在网上验证身份或者到参与本项目的邮局亲身验证身份。 doc_auth.info.how_to_verify_troubleshooting_options_header: 想对验证身份获得更多了解吗? doc_auth.info.hybrid_handoff: 我们将通过读取州政府颁发给你的身份证件来收集你的信息。 doc_auth.info.hybrid_handoff_ipp_html: 'Don’t have a mobile phone? You can verify your identity at a United States Post Office instead.' @@ -615,11 +617,15 @@ doc_auth.info.tag: 建议 doc_auth.info.upload_from_computer: 没有手机?从该电脑上传你身份证件的照片。 doc_auth.info.upload_from_phone: 你不必重新登录,而且拍完照后可以转回到该电脑。你的手机必须带有相机和网络浏览器。 doc_auth.info.verify_at_post_office_description: 如果你没有移动设备或者无法轻松拍身份证件照片,这一选项更好。 +doc_auth.info.verify_at_post_office_description_selfie: 如果你没有手机可以拍照,请选择该选项 doc_auth.info.verify_at_post_office_instruction: 你在网上输入身份证件信息,然后到一个参与邮件去亲身验证身份。 +doc_auth.info.verify_at_post_office_instruction_selfie: 你在网上输入身份证件信息,然后到一个参与本项目的邮局去亲身验证身份。 doc_auth.info.verify_at_post_office_link_text: 对亲身验证获得更多了解 doc_auth.info.verify_identity: 我们会要求获得你的个人信息并通过与公共记录核对来验证你的身份。 doc_auth.info.verify_online_description: 如果你没有移动设备或者无法轻松拍身份证件照片,这一选项更好。 -doc_auth.info.verify_online_instruction: 你将拍身份证件的照片来完全在网上验证身份。大多数用户都能轻松完成这样流程。 +doc_auth.info.verify_online_description_selfie: 如果你有手机可以拍照,请选择该选项。 +doc_auth.info.verify_online_instruction: 你将拍自己身份证件的照片来完全在网上验证身份。大多数用户都能轻松完成这一流程。 +doc_auth.info.verify_online_instruction_selfie: 使用手机在网上验证你的身份你将用手机拍摄身份证件和本人的照片。大多数用户都能轻松完成这一流程。 doc_auth.info.verify_online_link_text: 对网上验证获得更多了解 doc_auth.info.you_entered: 你输入了: doc_auth.instructions.bullet1: 州政府颁发的身份证件 @@ -647,6 +653,7 @@ doc_auth.tips.document_capture_selfie_text1: 把设备放在眼睛水平 doc_auth.tips.document_capture_selfie_text2: 确保你整个面孔都可以看到 doc_auth.tips.document_capture_selfie_text3: 在光线充沛的地方拍照 doc_auth.tips.document_capture_selfie_text4: Make sure your whole face is visible within the green circle. +doc_auth.tips.mobile_phone_required: 要求有手机 doc_auth.tips.review_issues_id_header_text: 请仔细查看你州政府颁发身份证件的图像: doc_auth.tips.review_issues_id_text1: 你是否使用了暗色背景? doc_auth.tips.review_issues_id_text2: 是否在平坦平面上拍的照? @@ -804,6 +811,7 @@ forms.buttons.confirm: 确认 forms.buttons.continue: 继续 forms.buttons.continue_ipp: Continue in person forms.buttons.continue_remote: Continue online +forms.buttons.continue_remote_selfie: 在手机上继续 forms.buttons.delete: 删除 forms.buttons.disable: 删除 forms.buttons.edit: 编辑 diff --git a/spec/features/idv/doc_auth/hybrid_handoff_spec.rb b/spec/features/idv/doc_auth/hybrid_handoff_spec.rb index 210e5752ca6..09433178e0b 100644 --- a/spec/features/idv/doc_auth/hybrid_handoff_spec.rb +++ b/spec/features/idv/doc_auth/hybrid_handoff_spec.rb @@ -380,10 +380,12 @@ def verify_no_upload_photos_section_and_link(page) context 'when sp ipp is available' do before do expect(page).to have_current_path(idv_how_to_verify_path) - click_on t('forms.buttons.continue_remote') end context 'when selfie is enabled system wide' do describe 'when selfie is required by sp' do + before do + click_on t('forms.buttons.continue_remote_selfie') + end it 'shows selfie version of top content and ipp option section' do verify_handoff_page_selfie_version_content(page) verify_handoff_page_ipp_section_and_link(page) @@ -392,6 +394,9 @@ def verify_no_upload_photos_section_and_link(page) end describe 'when selfie is not required by sp' do let(:biometric_comparison_required) { false } + before do + click_on t('forms.buttons.continue_remote') + end it 'shows non selfie version of top content and upload section, no ipp option section' do verify_handoff_page_non_selfie_version_content(page) @@ -403,6 +408,9 @@ def verify_no_upload_photos_section_and_link(page) context 'when selfie is disabled system wide' do describe 'when selfie is not required by sp' do let(:biometric_comparison_required) { false } + before do + click_on t('forms.buttons.continue_remote') + end it 'shows non selfie version of top content and upload section, no ipp option section' do verify_handoff_page_non_selfie_version_content(page) diff --git a/spec/views/idv/how_to_verify/show.html.erb_spec.rb b/spec/views/idv/how_to_verify/show.html.erb_spec.rb index b77160a92af..47eade62830 100644 --- a/spec/views/idv/how_to_verify/show.html.erb_spec.rb +++ b/spec/views/idv/how_to_verify/show.html.erb_spec.rb @@ -2,42 +2,107 @@ RSpec.describe 'idv/how_to_verify/show.html.erb' do selection = Idv::HowToVerifyForm::IPP - let(:idv_how_to_verify_form) do - Idv::HowToVerifyForm.new(selection: selection) - end + let(:selfie_check_required) { false } + let(:presenter) { Idv::HowToVerifyPresenter.new(selfie_check_required: selfie_check_required) } + let(:idv_how_to_verify_form) { Idv::HowToVerifyForm.new(selection: selection) } before do allow(view).to receive(:user_signing_up?).and_return(false) - + assign(:presenter, presenter) assign :idv_how_to_verify_form, idv_how_to_verify_form - render end - - context 'renders the show template with' do - it 'a title and info text' do - expect(rendered).to have_content(t('doc_auth.headings.how_to_verify')) - expect(rendered).to have_content(t('doc_auth.info.how_to_verify')) + context 'when selfie is not required' do + before do + @selfie_required = false + render end - it 'two options for verifying your identity' do - expect(rendered).to have_content(t('doc_auth.headings.verify_online')) - expect(rendered).to have_content(t('doc_auth.headings.verify_at_post_office')) - end + context 'renders the show template with' do + it 'a title' do + expect(rendered).to have_content(t('doc_auth.headings.how_to_verify')) + end + + it 'two options for verifying your identity' do + expect(rendered).to have_content(t('doc_auth.headings.verify_online')) + expect(rendered).to have_content(t('doc_auth.headings.verify_at_post_office')) + end + + it 'a button for remote and ipp' do + expect(rendered).to have_button(t('forms.buttons.continue_remote')) + expect(rendered).to have_button(t('forms.buttons.continue_ipp')) + end + + it 'a troubleshooting section' do + expect(rendered).to have_content( + t('doc_auth.info.how_to_verify_troubleshooting_options_header'), + ) + expect(rendered).to have_link(t('doc_auth.info.verify_online_link_text')) + expect(rendered).to have_link(t('doc_auth.info.verify_at_post_office_link_text')) + end + + it 'a cancel link' do + expect(rendered).to have_link(t('links.cancel')) + end - it 'a continue button' do - expect(rendered).to have_button(t('forms.buttons.continue')) + it 'non-selfie specific content' do + expect(rendered).to have_content(t('doc_auth.info.how_to_verify')) + expect(rendered).not_to have_content(t('doc_auth.tips.mobile_phone_required')) + expect(rendered).to have_content(t('doc_auth.headings.verify_online')) + expect(rendered).to have_content(t('doc_auth.info.verify_online_instruction')) + expect(rendered).to have_content(t('doc_auth.info.verify_online_description')) + expect(rendered).to have_content(t('doc_auth.info.verify_at_post_office_instruction')) + expect(rendered).to have_content(t('doc_auth.info.verify_at_post_office_description')) + end end + end + + context 'when selfie is required' do + let(:selfie_check_required) { true } - it 'a troubleshooting section' do - expect(rendered).to have_content( - t('doc_auth.info.how_to_verify_troubleshooting_options_header'), - ) - expect(rendered).to have_link(t('doc_auth.info.verify_online_link_text')) - expect(rendered).to have_link(t('doc_auth.info.verify_at_post_office_link_text')) + before do + @selfie_required = true + render end - it 'a cancel link' do - expect(rendered).to have_link(t('links.cancel')) + context 'renders the show template with' do + it 'a title' do + expect(rendered).to have_content(t('doc_auth.headings.how_to_verify')) + end + + it 'two options for verifying your identity' do + expect(rendered).to have_content(t('doc_auth.headings.verify_online_selfie')) + expect(rendered).to have_content(t('doc_auth.headings.verify_at_post_office')) + end + + it 'a button for remote and ipp' do + expect(rendered).to have_button(t('forms.buttons.continue_remote_selfie')) + expect(rendered).to have_button(t('forms.buttons.continue_ipp')) + end + + it 'a troubleshooting section' do + expect(rendered).to have_content( + t('doc_auth.info.how_to_verify_troubleshooting_options_header'), + ) + expect(rendered).to have_link(t('doc_auth.info.verify_online_link_text')) + expect(rendered).to have_link(t('doc_auth.info.verify_at_post_office_link_text')) + end + + it 'a cancel link' do + expect(rendered).to have_link(t('links.cancel')) + end + + it 'selfie specific content' do + expect(rendered).to have_content(t('doc_auth.info.how_to_verify_selfie')) + expect(rendered).to have_content(t('doc_auth.tips.mobile_phone_required')) + expect(rendered).to have_content(t('doc_auth.info.verify_online_instruction_selfie')) + expect(rendered).to have_content(t('doc_auth.info.verify_online_description_selfie')) + expect(rendered).to have_content( + t('doc_auth.info.verify_at_post_office_instruction_selfie'), + ) + expect(rendered).to have_content( + t('doc_auth.info.verify_at_post_office_description_selfie'), + ) + end end end end