diff --git a/app/assets/images/email/real-id-and-fair-evidence-documents.png b/app/assets/images/email/real-id-and-fair-evidence-documents.png new file mode 100644 index 00000000000..822305dfec8 Binary files /dev/null and b/app/assets/images/email/real-id-and-fair-evidence-documents.png differ diff --git a/app/assets/images/idv/real-id-and-fair-evidence-documents.svg b/app/assets/images/idv/real-id-and-fair-evidence-documents.svg new file mode 100644 index 00000000000..72e70fe7421 --- /dev/null +++ b/app/assets/images/idv/real-id-and-fair-evidence-documents.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/assets/stylesheets/email.css.scss b/app/assets/stylesheets/email.css.scss index d3310b4f25d..7f2d8346526 100644 --- a/app/assets/stylesheets/email.css.scss +++ b/app/assets/stylesheets/email.css.scss @@ -5,6 +5,8 @@ @use 'variables/app' as *; @use 'variables/email' as *; +@forward 'usa-tag'; + .gray { &:active, &:hover, diff --git a/app/views/idv/in_person/ready_to_verify/show.html.erb b/app/views/idv/in_person/ready_to_verify/show.html.erb index ec01d74f753..36eff52cb02 100644 --- a/app/views/idv/in_person/ready_to_verify/show.html.erb +++ b/app/views/idv/in_person/ready_to_verify/show.html.erb @@ -23,15 +23,26 @@ <%= @presenter.barcode_heading_text %> <% end %> -
- <%= render 'idv/shared/mini_logo' %> - <%= render BarcodeComponent.new( - barcode_data: @presenter.enrollment_code, - label: t('in_person_proofing.process.barcode.caption_label'), - label_formatter: Idv::InPerson::EnrollmentCodeFormatter.method(:format), - ) %> -
+<%# Tag for GSA Enhanced Pilot Barcode %> +<% if @is_enhanced_ipp %> +
+ + <%= t('in_person_proofing.body.barcode.eipp_tag') %> + +
+<% end %> +<%# Barcode %> +
+ <%= render 'idv/shared/mini_logo' %> + <%= render BarcodeComponent.new( + barcode_data: @presenter.enrollment_code, + label: t('in_person_proofing.process.barcode.caption_label'), + label_formatter: Idv::InPerson::EnrollmentCodeFormatter.method(:format), + ) %> +
+ +<%# Alert %> <%= render AlertComponent.new(type: :info, class: 'margin-y-4', text_tag: :div) do %>

<%= t('in_person_proofing.body.barcode.deadline', deadline: @presenter.formatted_due_date) %>

<%= t('in_person_proofing.body.barcode.deadline_restart') %>

@@ -44,9 +55,10 @@

<%= t('in_person_proofing.headings.barcode_what_to_bring') %>

<%= t('in_person_proofing.body.barcode.eipp_what_to_bring') %>

- <%# Option 1: Bring a Real ID %> + <%# Option 1: Bring a REAL ID %> + <%# A. REAL ID with current address %>

<%= t('in_person_proofing.process.eipp_bring_id.heading') %>

-
+
<%= image_tag( asset_url('idv/real-id.svg'), width: 110, @@ -55,20 +67,45 @@ class: 'grid-col-auto margin-left-0 margin-bottom-2', role: 'img', ) %> -

<%= t('in_person_proofing.process.eipp_bring_id.info') %>

+
+

<%= t('in_person_proofing.process.eipp_bring_id_with_current_address.heading') %>

+

<%= t('in_person_proofing.process.eipp_bring_id.info') %>

+

- <%# Option 2: Bring a standard State ID... %> -

<%= t('in_person_proofing.process.eipp_bring_id_plus_documents.heading') %>

+ <%# B. REAL ID + two support documents %> +
+ <%= image_tag( + asset_url('idv/real-id-and-fair-evidence-documents.svg'), + width: 110, + height: 107, + alt: t('in_person_proofing.process.real_id_and_supporting_docs.image_alt_text'), + class: 'grid-col-auto margin-left-0 margin-bottom-3 tablet:margin-bottom-0', + role: 'img', + ) %> +
+

<%= t('in_person_proofing.process.real_id_and_supporting_docs.heading') %>

+

<%= t('in_person_proofing.process.real_id_and_supporting_docs.info') %>

+
    + <% t('in_person_proofing.process.eipp_state_id_supporting_docs.info_list').each do |doc| %> +
  • <%= doc %>
  • + <% end %> +
+
+
+
+ + <%# Option 2: Bring a standard state-issued ID plus supporting documents %> +

<%= t('in_person_proofing.process.eipp_bring_id_plus_documents.heading') %>

<%= t('in_person_proofing.process.eipp_bring_id_plus_documents.info') %>

- <%# A. State ID + Passport %> + <%# A. State-issued ID + Passport %>
<%= image_tag( asset_url('idv/state-id-and-passport.svg'), - width: 110.46, - height: 129.11, + width: 110, + height: 129, alt: t('in_person_proofing.process.eipp_state_id_passport.image_alt_text'), class: 'grid-col-auto margin-left-0 margin-bottom-3 tablet:margin-bottom-0', role: 'img', @@ -80,11 +117,11 @@

- <%# B. State ID + Military ID %> + <%# B. State-issued ID + military ID %>
<%= image_tag( asset_url('idv/state-id-and-military-id.svg'), - width: 110.46, + width: 110, height: 93, alt: t('in_person_proofing.process.eipp_state_id_military_id.image_alt_text'), class: 'grid-col-auto margin-left-0 margin-bottom-3 tablet:margin-bottom-0', @@ -97,11 +134,11 @@

- <%# C. State ID + two supporting documents %> + <%# C. State-issued ID + two supporting documents %>
<%= image_tag( asset_url('idv/state-id-and-fair-evidence-documents.svg'), - width: 110.46, + width: 110, height: 107, alt: t('in_person_proofing.process.eipp_state_id_supporting_docs.image_alt_text'), class: 'grid-col-auto margin-left-0 margin-bottom-3 tablet:margin-bottom-0', diff --git a/app/views/user_mailer/shared/_in_person_ready_to_verify.html.erb b/app/views/user_mailer/shared/_in_person_ready_to_verify.html.erb index a47daa7a5b9..31d9484affe 100644 --- a/app/views/user_mailer/shared/_in_person_ready_to_verify.html.erb +++ b/app/views/user_mailer/shared/_in_person_ready_to_verify.html.erb @@ -14,6 +14,15 @@ <% end %> +<%# Tag for GSA Enhanced Pilot Barcode %> +<% if @is_enhanced_ipp %> +
+ + <%= t('in_person_proofing.body.barcode.eipp_tag') %> + +
+<% end %> + <%# Barcode %>
<%= render 'idv/shared/mini_logo', filename: 'email/logo.png' %> @@ -25,7 +34,7 @@ ) %>
-<%# Alert box %> +<%# Alert %>
@@ -38,17 +47,18 @@
-<%# Enhanced IPP Only - What to bring section %> +<%# Enhanced IPP Only - What to bring to the Post Office %> <% if @is_enhanced_ipp %>
<%# What to bring to the Post Office %>

<%= t('in_person_proofing.headings.barcode_what_to_bring') %>

<%= t('in_person_proofing.body.barcode.eipp_what_to_bring') %>

- <%# Option 1: Bring a Real ID %> + <%# Option 1: Bring a REAL ID %> + <%# A. REAL ID with current address %>

<%= t('in_person_proofing.process.eipp_bring_id.heading') %>

- +
+ + +
@@ -58,13 +68,44 @@ height: 80, alt: t('in_person_proofing.process.eipp_bring_id.image_alt_text'), role: 'img', - class: 'margin-bottom-3', ) %> -

<%= t('in_person_proofing.process.eipp_bring_id.info') %>

+

<%= t('in_person_proofing.process.eipp_bring_id_with_current_address.heading') %>

+

<%= t('in_person_proofing.process.eipp_bring_id.info') %>

+
+
+
+ + <%# B. REAL ID + two support documents %> +
+ + + + + + @@ -72,11 +113,11 @@
- <%# Option 2: Bring a standard State ID... %> + <%# Option 2: Bring a standard state-issued ID plus supporting documents %>

<%= t('in_person_proofing.process.eipp_bring_id_plus_documents.heading') %>

<%= t('in_person_proofing.process.eipp_bring_id_plus_documents.info') %>

- <%# A. State ID + Passport %> + <%# A. State-issued ID + Passport %>
+ <%= image_tag( + asset_url('email/real-id-and-fair-evidence-documents.png'), + width: 110, + height: 107, + alt: t('in_person_proofing.process.real_id_and_supporting_docs.image_alt_text'), + role: 'img', + ) %> + + +

<%= t('in_person_proofing.process.real_id_and_supporting_docs.heading') %>

+

<%= t('in_person_proofing.process.real_id_and_supporting_docs.info') %>

+
    + <% t('in_person_proofing.process.eipp_state_id_supporting_docs.info_list').each do |doc| %> +
  • <%= doc %>
  • + <% end %> +
@@ -93,14 +134,14 @@

<%= t('in_person_proofing.process.eipp_state_id_passport.heading') %>

-

<%= t('in_person_proofing.process.eipp_state_id_passport.info') %>

+

<%= t('in_person_proofing.process.eipp_state_id_passport.info') %>


- <%# B. State ID + Military ID %> + <%# B. State-issued ID + military ID %> @@ -117,14 +158,14 @@

<%= t('in_person_proofing.process.eipp_state_id_military_id.heading') %>

-

<%= t('in_person_proofing.process.eipp_state_id_military_id.info') %>

+

<%= t('in_person_proofing.process.eipp_state_id_military_id.info') %>


- <%# C. State ID + two supporting documents %> + <%# C. State-issued ID + two supporting documents %> diff --git a/config/locales/en.yml b/config/locales/en.yml index 0f7eca90b30..6ba090881ac 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1179,6 +1179,7 @@ in_person_proofing.body.barcode.cancel_link_text: Cancel your barcode in_person_proofing.body.barcode.close_window: You may now close this window. in_person_proofing.body.barcode.deadline: You must visit any participating Post Office by %{deadline}. in_person_proofing.body.barcode.deadline_restart: If you go after this deadline, your information will not be saved and you will need to restart the process. +in_person_proofing.body.barcode.eipp_tag: GSA Enhanced Pilot Barcode in_person_proofing.body.barcode.eipp_what_to_bring: 'Depending on your ID, you may need to show supporting documents. Review the following options carefully:' in_person_proofing.body.barcode.email_sent: We have sent your barcode and the information below to the email you used to sign in in_person_proofing.body.barcode.learn_more: Learn more about what to bring @@ -1284,9 +1285,10 @@ in_person_proofing.process.barcode.heading: Show your %{app_name} barcode in_person_proofing.process.barcode.info: The retail associate needs to scan your barcode at the top of this page. You can print this page or show it on your mobile device. in_person_proofing.process.eipp_bring_id_plus_documents.heading: 'Option 2: Bring a standard state-issued ID plus supporting documents' in_person_proofing.process.eipp_bring_id_plus_documents.info: 'You can present your standard driver’s license or state ID card, along with supporting documents from the following options A, B or C. You only need to pick ONE option:' +in_person_proofing.process.eipp_bring_id_with_current_address.heading: A. REAL ID with current address in_person_proofing.process.eipp_bring_id.heading: 'Option 1: Bring a REAL ID' in_person_proofing.process.eipp_bring_id.image_alt_text: Real ID -in_person_proofing.process.eipp_bring_id.info: 'If you present a Real State ID or Driver’s license, you don’t need to show supporting documents.' +in_person_proofing.process.eipp_bring_id.info: 'If you present a REAL ID driver’s license or ID card and the address on it is your current address, you don’t need to show supporting documents.' in_person_proofing.process.eipp_state_id_military_id.heading: B. State-issued ID + military ID in_person_proofing.process.eipp_state_id_military_id.image_alt_text: State ID and Military ID in_person_proofing.process.eipp_state_id_military_id.info: 'Present a standard driver’s license or state ID card, along with a military ID.' @@ -1304,6 +1306,9 @@ in_person_proofing.process.eipp_state_id_supporting_docs.info_list: - Vehicle registration card - Home insurance policy - Vehicle insurance policy +in_person_proofing.process.real_id_and_supporting_docs.heading: B. REAL ID + two supporting documents +in_person_proofing.process.real_id_and_supporting_docs.image_alt_text: REAL ID and two documents +in_person_proofing.process.real_id_and_supporting_docs.info: 'If the address on your REAL ID is not your current address, present a REAL ID, along with two supporting documents from this list:' in_person_proofing.process.state_id.heading: Show your State Driver’s License or State Non-Driver’s Identification Card in_person_proofing.process.state_id.heading_eipp: Show your ID and supporting documents in_person_proofing.process.state_id.info: This must not be expired. We do not currently accept any other forms of identification, such as passports and military IDs. diff --git a/config/locales/es.yml b/config/locales/es.yml index bbde4054179..f9ef9203273 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -1190,6 +1190,7 @@ in_person_proofing.body.barcode.cancel_link_text: Cancele su código de barras in_person_proofing.body.barcode.close_window: Ya puede cerrar esta ventana. in_person_proofing.body.barcode.deadline: Debe acudir a cualquier oficina de correos participante antes del %{deadline} in_person_proofing.body.barcode.deadline_restart: Si vence el plazo, su información no se guardará y tendrá que reiniciar el proceso. +in_person_proofing.body.barcode.eipp_tag: Código de barras piloto mejorado GSA in_person_proofing.body.barcode.eipp_what_to_bring: 'Según el tipo de identificación que tenga, es posible que deba presentar documentos comprobatorios. Lea con atención las opciones siguientes:' in_person_proofing.body.barcode.email_sent: Enviamos el código de barras y la información más abajo al correo electrónico que usó para iniciar sesión in_person_proofing.body.barcode.learn_more: Obtenga más información sobre lo que debe llevar @@ -1295,9 +1296,10 @@ in_person_proofing.process.barcode.heading: Muestre su código de barras de %{ap in_person_proofing.process.barcode.info: El empleado debe escanear el código de barras que aparece en la parte superior de esta página. Puede imprimir esta página o mostrarla en su dispositivo móvil. in_person_proofing.process.eipp_bring_id_plus_documents.heading: 'Opción 2: Llevar una identificación estatal estándar emitida por el estado, junto con los documentos comprobatorios' in_person_proofing.process.eipp_bring_id_plus_documents.info: 'Puede presentar su licencia de conducir o identificación estatal estándar, junto con los documentos comprobatorios de las opciones A, B o C siguientes. Solo debe escoger UNA opción:' +in_person_proofing.process.eipp_bring_id_with_current_address.heading: A. REAL ID con dirección actual in_person_proofing.process.eipp_bring_id.heading: 'Opción 1: Llevar una REAL ID' in_person_proofing.process.eipp_bring_id.image_alt_text: Real ID -in_person_proofing.process.eipp_bring_id.info: Si presenta una Real ID estatal o licencia de conducir auténtica, no necesita mostrar documentos comprobatorios. +in_person_proofing.process.eipp_bring_id.info: Si presenta una licencia de conducir o una tarjeta de identificación REAL ID con su dirección actual, no necesita mostrar documentos comprobatorios. in_person_proofing.process.eipp_state_id_military_id.heading: B. Identificación emitida por el estado + identificación militar in_person_proofing.process.eipp_state_id_military_id.image_alt_text: Identificación estatal e identificación militar in_person_proofing.process.eipp_state_id_military_id.info: Presente una licencia de conducir o una tarjeta de identificación estatal estándar, junto con una identificación militar. @@ -1315,6 +1317,9 @@ in_person_proofing.process.eipp_state_id_supporting_docs.info_list: - Tarjeta de registro de su vehículo - Póliza de seguro de su vivienda - Póliza de seguro de su vehículo +in_person_proofing.process.real_id_and_supporting_docs.heading: B. REAL ID + dos documentos comprobatorios +in_person_proofing.process.real_id_and_supporting_docs.image_alt_text: REAL ID y dos documentos +in_person_proofing.process.real_id_and_supporting_docs.info: 'Si la dirección que figura en su REAL ID no es su dirección actual, presente un REAL ID, junto con dos documentos comprobatorios de esta lista:' in_person_proofing.process.state_id.heading: Muestre su licencia de conducir estatal o su tarjeta de identificación estatal que no sea una licencia de conducir in_person_proofing.process.state_id.heading_eipp: Muestre su identificación y los documentos comprobatorios in_person_proofing.process.state_id.info: No debe estar vencida. Actualmente no aceptamos otras formas de identificación, como pasaportes o identificaciones militares. diff --git a/config/locales/fr.yml b/config/locales/fr.yml index a44f4660adc..4f799e6a908 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -1179,6 +1179,7 @@ in_person_proofing.body.barcode.cancel_link_text: Annuler votre code-barres in_person_proofing.body.barcode.close_window: Vous pouvez maintenant fermer cette fenêtre in_person_proofing.body.barcode.deadline: Vous devez vous rendre dans un bureau de poste participant avant le %{deadline} in_person_proofing.body.barcode.deadline_restart: Si vous y allez après cette date limite, vos informations ne seront pas sauvegardées et vous devrez recommencer le processus. +in_person_proofing.body.barcode.eipp_tag: Code-barres pilote amélioré de la GSA in_person_proofing.body.barcode.eipp_what_to_bring: 'Selon la pièce d’identité dont vous disposez, il pourra vous être demandé de présenter des documents complémentaires. Étudiez attentivement les options suivantes:' in_person_proofing.body.barcode.email_sent: Nous avons envoyé votre code-barre et les informations ci-dessous à l’adresse e-mail que vous avez utilisée pour vous connecter in_person_proofing.body.barcode.learn_more: En savoir davantage sur ce qu’il faut apporter. @@ -1284,9 +1285,10 @@ in_person_proofing.process.barcode.heading: Montrez votre code-barres %{app_name in_person_proofing.process.barcode.info: Le préposé doit scanner votre code-barres en haut de cette page. Vous pouvez imprimer cette page ou la montrer sur votre appareil mobile. in_person_proofing.process.eipp_bring_id_plus_documents.heading: 'Option 2: Apporter une pièce d’identité délivrée par l’État ainsi que des documents complémentaires' in_person_proofing.process.eipp_bring_id_plus_documents.info: 'Vous pouvez présenter votre permis de conduire standard ou une carte d’identité délivrée par un État, en l’accompagnant de documents complémentaires parmi ceux figurant aux options A, B ou C. UNE seule option doit être choisie:' +in_person_proofing.process.eipp_bring_id_with_current_address.heading: A. REAL ID avec adresse actuelle in_person_proofing.process.eipp_bring_id.heading: 'Option 1: Apporter une pièce d’identité REAL ID' in_person_proofing.process.eipp_bring_id.image_alt_text: Real ID -in_person_proofing.process.eipp_bring_id.info: Si vous présentez une carte d’identité ou un permis de conduire d’un État de type Real ID, vous n’avez pas besoin de présenter des documents complémentaires. +in_person_proofing.process.eipp_bring_id.info: Si vous présentez un permis de conduire ou une carte d’identité REAL ID et que l’adresse y figurant est votre adresse actuelle, il est inutile de produire des documents complémentaires. in_person_proofing.process.eipp_state_id_military_id.heading: B. Pièce d’identité délivrée par l’État + carte d’identité militaire in_person_proofing.process.eipp_state_id_military_id.image_alt_text: Pièce d’identité d’un État et carte d’identité militaire in_person_proofing.process.eipp_state_id_military_id.info: Présenter un permis de conduire standard ou une carte d’identité délivrée par un État, accompagné d’une carte d’identité militaire. @@ -1304,6 +1306,9 @@ in_person_proofing.process.eipp_state_id_supporting_docs.info_list: - Carte d’immatriculation d’un véhicule - Attestation d’assurance habitation - Attestation d’assurance automobile/deux roues +in_person_proofing.process.real_id_and_supporting_docs.heading: B. REAL ID + de deux documents complémentaires +in_person_proofing.process.real_id_and_supporting_docs.image_alt_text: REAL ID et deux documents +in_person_proofing.process.real_id_and_supporting_docs.info: 'Si l’adresse figurant sur votre REAL ID n’est pas votre adresse actuelle, veuillez présenter le document REAL ID accompagné de deux documents complémentaires parmi ceux de la liste ci-dessous :' in_person_proofing.process.state_id.heading: Présentez votre permis de conduire ou votre carte d’identité de l’État in_person_proofing.process.state_id.heading_eipp: Présenter votre pièce d’identité et les documents complémentaires in_person_proofing.process.state_id.info: Ce document ne doit pas être périmé. Nous n’acceptons actuellement aucune autre pièce d’identité, comme les passeports et les cartes d’identité militaires. diff --git a/config/locales/zh.yml b/config/locales/zh.yml index f7da8feca6e..f1db5c5e315 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -1190,6 +1190,7 @@ in_person_proofing.body.barcode.cancel_link_text: 取消你的条形码 in_person_proofing.body.barcode.close_window: 你现在可以关闭这一窗口。 in_person_proofing.body.barcode.deadline: 你必须在 %{deadline}之前去任何参与邮局。 in_person_proofing.body.barcode.deadline_restart: 如果你在截止日期后才去邮局,你的信息不会被存储,你又得从头开始这一过程。 +in_person_proofing.body.barcode.eipp_tag: GSA 增强型试行条形码 in_person_proofing.body.barcode.eipp_what_to_bring: 取决于您身份证件类型,您也许需要显示支持文件。请仔细阅读以下选项: in_person_proofing.body.barcode.email_sent: 我们已将条形码和以下信息发到了您用来登录的电邮地址 in_person_proofing.body.barcode.learn_more: 了解有关携带物品的更多信息 @@ -1295,9 +1296,10 @@ in_person_proofing.process.barcode.heading: 出示你的 %{app_name} 条形码 in_person_proofing.process.barcode.info: 邮局工作人员需要扫描该页顶部的条形码你可以把该页打印出来,或在你的移动设备上显示。 in_person_proofing.process.eipp_bring_id_plus_documents.heading: 选项2:请携带州颁发的标准身份证件和支持性文件 in_person_proofing.process.eipp_bring_id_plus_documents.info: '您可以出示标准驾照或者州颁发的身份卡以及以下A、B、C选项的支持文件。你只需选择下列选项之一:' +in_person_proofing.process.eipp_bring_id_with_current_address.heading: A. 带有当前地址的REAL身份证 in_person_proofing.process.eipp_bring_id.heading: 选项1:携带REAL身份证件 in_person_proofing.process.eipp_bring_id.image_alt_text: REAL身份证件 -in_person_proofing.process.eipp_bring_id.info: '如果你出示一个州的REAL身份证件或驾照,则无需出示支持性文件' +in_person_proofing.process.eipp_bring_id.info: 如果您出示是REAL身份证的驾照或身份卡,并且上面的地址是你当前的地址,则无需出示支持性文件。 in_person_proofing.process.eipp_state_id_military_id.heading: B.州颁发的标准身份+军人证件 in_person_proofing.process.eipp_state_id_military_id.image_alt_text: 州身份证和军人证件 in_person_proofing.process.eipp_state_id_military_id.info: 出示标准驾照或州颁发的身份卡, 以及军人证件。 @@ -1315,6 +1317,9 @@ in_person_proofing.process.eipp_state_id_supporting_docs.info_list: - 车辆登记卡 - 房屋保险单 - 车辆保险单 +in_person_proofing.process.real_id_and_supporting_docs.heading: B. REAL身份证 + 两种支持性文件 +in_person_proofing.process.real_id_and_supporting_docs.image_alt_text: REAL身份证和两种文件 +in_person_proofing.process.real_id_and_supporting_docs.info: '如果你的REAL身份证上的地址不是你当前的地址,请出示REAL身份证以及以下清单中的两种支持性文件:' in_person_proofing.process.state_id.heading: 出示你州驾照或州非驾照身份卡。 in_person_proofing.process.state_id.heading_eipp: 出示你的身份证件以及支持性文件 in_person_proofing.process.state_id.info: 该证件必须在有效期内。我们目前不接受任何其他形式的身份证件,比如护照和军队身份证件。 diff --git a/spec/mailers/user_mailer_spec.rb b/spec/mailers/user_mailer_spec.rb index cd33e6008d6..ff71acbd31c 100644 --- a/spec/mailers/user_mailer_spec.rb +++ b/spec/mailers/user_mailer_spec.rb @@ -702,12 +702,14 @@ def expect_email_body_to_have_help_and_contact_links aggregate_failures do [ t('in_person_proofing.headings.barcode_eipp'), - t('in_person_proofing.process.state_id.heading_eipp'), - t('in_person_proofing.process.state_id.info_eipp'), + t('in_person_proofing.body.barcode.eipp_tag'), t('in_person_proofing.headings.barcode_what_to_bring'), t('in_person_proofing.body.barcode.eipp_what_to_bring'), t('in_person_proofing.process.eipp_bring_id.heading'), + t('in_person_proofing.process.eipp_bring_id_with_current_address.heading'), t('in_person_proofing.process.eipp_bring_id.info'), + t('in_person_proofing.process.real_id_and_supporting_docs.heading'), + t('in_person_proofing.process.real_id_and_supporting_docs.info'), t('in_person_proofing.process.eipp_bring_id_plus_documents.heading'), t('in_person_proofing.process.eipp_bring_id_plus_documents.info'), t('in_person_proofing.process.eipp_state_id_passport.heading'), @@ -716,6 +718,8 @@ def expect_email_body_to_have_help_and_contact_links t('in_person_proofing.process.eipp_state_id_military_id.info'), t('in_person_proofing.process.eipp_state_id_supporting_docs.heading'), t('in_person_proofing.process.eipp_state_id_supporting_docs.info'), + t('in_person_proofing.process.state_id.heading_eipp'), + t('in_person_proofing.process.state_id.info_eipp'), ].each do |copy| Array(copy).each do |part| expect(mail.html_part.body).to_not have_content(part) @@ -769,52 +773,74 @@ def expect_email_body_to_have_help_and_contact_links end context 'template displays additional Enhanced In-Person Proofing specific content' do - it 'renders What to bring section' do - aggregate_failures do - [ - t('in_person_proofing.headings.barcode_what_to_bring'), - t('in_person_proofing.body.barcode.eipp_what_to_bring'), - ].each do |copy| - Array(copy).each do |part| - expect(mail.html_part.body).to have_content(part) + it 'renders GSA Enhanced Pilot Barcode tag' do + expect(mail.html_part.body).to have_content( + t('in_person_proofing.body.barcode.eipp_tag'), + ) + end + + context 'What to bring to the Post Office section' do + it 'What to bring heading and info text' do + aggregate_failures do + [ + t('in_person_proofing.headings.barcode_what_to_bring'), + t('in_person_proofing.body.barcode.eipp_what_to_bring'), + ].each do |copy| + Array(copy).each do |part| + expect(mail.html_part.body).to have_content(part) + end end end end - end - it 'renders Option 1 content' do - aggregate_failures do - [ - t('in_person_proofing.process.eipp_bring_id.heading'), - t('in_person_proofing.process.eipp_bring_id.info'), - ].each do |copy| - Array(copy).each do |part| - expect(mail.html_part.body).to have_content(part) + it 'renders Option 1 content' do + aggregate_failures do + [ + t('in_person_proofing.process.eipp_bring_id.heading'), + t('in_person_proofing.process.eipp_bring_id_with_current_address.heading'), + t('in_person_proofing.process.eipp_bring_id.info'), + t('in_person_proofing.process.real_id_and_supporting_docs.heading'), + t('in_person_proofing.process.real_id_and_supporting_docs.info'), + ].each do |copy| + Array(copy).each do |part| + expect(mail.html_part.body).to have_content(part) + end + + t('in_person_proofing.process.eipp_state_id_supporting_docs.info_list'). + each do |item| + expect(mail.html_part.body).to have_content(strip_tags(item)) + end end end end - end - it 'renders Option 2 content' do - aggregate_failures do - [ - t('in_person_proofing.process.eipp_bring_id_plus_documents.heading'), - t('in_person_proofing.process.eipp_bring_id_plus_documents.info'), - t('in_person_proofing.process.eipp_state_id_passport.heading'), - t('in_person_proofing.process.eipp_state_id_passport.info'), - t('in_person_proofing.process.eipp_state_id_military_id.heading'), - t('in_person_proofing.process.eipp_state_id_military_id.info'), - t('in_person_proofing.process.eipp_state_id_supporting_docs.heading'), - t('in_person_proofing.process.eipp_state_id_supporting_docs.info'), - ].each do |copy| - Array(copy).each do |part| - expect(mail.html_part.body).to have_content(part) + it 'renders Option 2 content' do + aggregate_failures do + [ + t('in_person_proofing.process.eipp_bring_id_plus_documents.heading'), + t('in_person_proofing.process.eipp_bring_id_plus_documents.info'), + t('in_person_proofing.process.eipp_state_id_passport.heading'), + t('in_person_proofing.process.eipp_state_id_passport.info'), + t('in_person_proofing.process.eipp_state_id_military_id.heading'), + t('in_person_proofing.process.eipp_state_id_military_id.info'), + t('in_person_proofing.process.eipp_state_id_supporting_docs.heading'), + t('in_person_proofing.process.eipp_state_id_supporting_docs.info'), + ].each do |copy| + Array(copy).each do |part| + expect(mail.html_part.body).to have_content(part) + end + + t('in_person_proofing.process.eipp_state_id_supporting_docs.info_list'). + each do |item| + expect(mail.html_part.body).to have_content(strip_tags(item)) + end end + end + end - t('in_person_proofing.process.eipp_state_id_supporting_docs.info_list'). - each do |item| - expect(mail.html_part.body).to have_content(strip_tags(item)) - end + it 'renders supporting document list twice' do + t('in_person_proofing.process.eipp_state_id_supporting_docs.info_list').each do |item| + expect(mail.html_part.body).to have_content(strip_tags(item)).twice end end end @@ -854,6 +880,10 @@ def expect_email_body_to_have_help_and_contact_links it 'renders content that is applicable to Enhanced In-Person Proofing (Enhanced IPP)' do aggregate_failures do [ + t('in_person_proofing.body.barcode.eipp_tag'), + t('in_person_proofing.process.eipp_bring_id_with_current_address.heading'), + t('in_person_proofing.process.real_id_and_supporting_docs.heading'), + t('in_person_proofing.process.real_id_and_supporting_docs.info'), t('in_person_proofing.headings.barcode_what_to_bring'), t('in_person_proofing.body.barcode.eipp_what_to_bring'), t('in_person_proofing.process.eipp_bring_id.heading'), diff --git a/spec/views/idv/in_person/ready_to_verify/show.html.erb_spec.rb b/spec/views/idv/in_person/ready_to_verify/show.html.erb_spec.rb index f5dbb0eec9d..673b6816a83 100644 --- a/spec/views/idv/in_person/ready_to_verify/show.html.erb_spec.rb +++ b/spec/views/idv/in_person/ready_to_verify/show.html.erb_spec.rb @@ -71,6 +71,12 @@ ) end + it 'displays a barcode label' do + render + + expect(rendered).to have_content(t('in_person_proofing.process.barcode.caption_label')) + end + context 'with enrollment where selected_location_details is present' do it 'renders a location' do render @@ -192,12 +198,14 @@ aggregate_failures do [ t('in_person_proofing.headings.barcode_eipp'), - t('in_person_proofing.process.state_id.heading_eipp'), - t('in_person_proofing.process.state_id.info_eipp'), + t('in_person_proofing.body.barcode.eipp_tag'), t('in_person_proofing.headings.barcode_what_to_bring'), t('in_person_proofing.body.barcode.eipp_what_to_bring'), t('in_person_proofing.process.eipp_bring_id.heading'), + t('in_person_proofing.process.eipp_bring_id_with_current_address.heading'), t('in_person_proofing.process.eipp_bring_id.info'), + t('in_person_proofing.process.real_id_and_supporting_docs.heading'), + t('in_person_proofing.process.real_id_and_supporting_docs.info'), t('in_person_proofing.process.eipp_bring_id_plus_documents.heading'), t('in_person_proofing.process.eipp_bring_id_plus_documents.info'), t('in_person_proofing.process.eipp_state_id_passport.heading'), @@ -206,6 +214,8 @@ t('in_person_proofing.process.eipp_state_id_military_id.info'), t('in_person_proofing.process.eipp_state_id_supporting_docs.heading'), t('in_person_proofing.process.eipp_state_id_supporting_docs.info'), + t('in_person_proofing.process.state_id.heading_eipp'), + t('in_person_proofing.process.state_id.info_eipp'), ].each do |copy| Array(copy).each do |part| expect(rendered).to_not have_content(part) @@ -264,42 +274,65 @@ end context 'template displays additional (EIPP specific) content' do - it 'renders What to bring section' do + it 'renders GSA Enhanced Pilot Barcode tag' do render - expect(rendered).to have_content(t('in_person_proofing.headings.barcode_what_to_bring')) - expect(rendered).to have_content(t('in_person_proofing.body.barcode.eipp_what_to_bring')) + expect(rendered).to have_content(t('in_person_proofing.body.barcode.eipp_tag')) end - it 'renders Option 1 content' do - render - - expect(rendered).to have_content(t('in_person_proofing.process.eipp_bring_id.heading')) - expect(rendered).to have_content(t('in_person_proofing.process.eipp_bring_id.info')) - end + context 'What to bring to the Post Office section' do + it 'displays heading and body' do + render - it 'renders Option 2 content' do - render + expect(rendered).to have_content(t('in_person_proofing.headings.barcode_what_to_bring')) + expect(rendered).to have_content(t('in_person_proofing.body.barcode.eipp_what_to_bring')) + end - aggregate_failures do - [ - t('in_person_proofing.process.eipp_bring_id_plus_documents.heading'), - t('in_person_proofing.process.eipp_bring_id_plus_documents.info'), - t('in_person_proofing.process.eipp_state_id_passport.heading'), - t('in_person_proofing.process.eipp_state_id_passport.info'), - t('in_person_proofing.process.eipp_state_id_military_id.heading'), - t('in_person_proofing.process.eipp_state_id_military_id.info'), - t('in_person_proofing.process.eipp_state_id_supporting_docs.heading'), - t('in_person_proofing.process.eipp_state_id_supporting_docs.info'), - ].each do |copy| - Array(copy).each do |part| - expect(rendered).to have_content(part) + it 'renders Option 1 content' do + render + + aggregate_failures do + [ + t('in_person_proofing.process.eipp_bring_id.heading'), + t('in_person_proofing.process.eipp_bring_id_with_current_address.heading'), + t('in_person_proofing.process.eipp_bring_id.info'), + t('in_person_proofing.process.real_id_and_supporting_docs.heading'), + t('in_person_proofing.process.real_id_and_supporting_docs.info'), + ].each do |copy| + Array(copy).each do |part| + expect(rendered).to have_content(part) + end end end + + t('in_person_proofing.process.eipp_state_id_supporting_docs.info_list').each do |item| + expect(rendered).to have_content(strip_tags(item)) + end end - t('in_person_proofing.process.eipp_state_id_supporting_docs.info_list').each do |item| - expect(rendered).to have_content(strip_tags(item)) + it 'renders Option 2 content' do + render + + aggregate_failures do + [ + t('in_person_proofing.process.eipp_bring_id_plus_documents.heading'), + t('in_person_proofing.process.eipp_bring_id_plus_documents.info'), + t('in_person_proofing.process.eipp_state_id_passport.heading'), + t('in_person_proofing.process.eipp_state_id_passport.info'), + t('in_person_proofing.process.eipp_state_id_military_id.heading'), + t('in_person_proofing.process.eipp_state_id_military_id.info'), + t('in_person_proofing.process.eipp_state_id_supporting_docs.heading'), + t('in_person_proofing.process.eipp_state_id_supporting_docs.info'), + ].each do |copy| + Array(copy).each do |part| + expect(rendered).to have_content(part) + end + end + end + + t('in_person_proofing.process.eipp_state_id_supporting_docs.info_list').each do |item| + expect(rendered).to have_content(strip_tags(item)) + end end end end