diff --git a/app/assets/fonts/glyphs.txt b/app/assets/fonts/glyphs.txt index cf22ca514ed..491386946d3 100644 --- a/app/assets/fonts/glyphs.txt +++ b/app/assets/fonts/glyphs.txt @@ -1 +1 @@ - !"#$%&'()+,-./0123456789:;>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~ «»¿ÀÁÈÉÊÎÓÚàáâãçèéêëíîïñóôùúû ‑—‘’“”…‹中体文简 + !"#$%&'()+,-./0123456789:;>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]_abcdefghijklmnopqrstuvwxyz~ «»¿ÀÁÈÉÊÎÓÚàáâãçèéêëíîïñóôùúû ‑—‘’“”…‹中体文简 diff --git a/app/assets/fonts/public-sans/PublicSans-Black.woff2 b/app/assets/fonts/public-sans/PublicSans-Black.woff2 index c979fce12f1..a7218b5b169 100644 Binary files a/app/assets/fonts/public-sans/PublicSans-Black.woff2 and b/app/assets/fonts/public-sans/PublicSans-Black.woff2 differ diff --git a/app/assets/fonts/public-sans/PublicSans-BlackItalic.woff2 b/app/assets/fonts/public-sans/PublicSans-BlackItalic.woff2 index c94e87ffac3..0771896f1db 100644 Binary files a/app/assets/fonts/public-sans/PublicSans-BlackItalic.woff2 and b/app/assets/fonts/public-sans/PublicSans-BlackItalic.woff2 differ diff --git a/app/assets/fonts/public-sans/PublicSans-Bold.woff2 b/app/assets/fonts/public-sans/PublicSans-Bold.woff2 index 196295dcd53..608efc4b611 100644 Binary files a/app/assets/fonts/public-sans/PublicSans-Bold.woff2 and b/app/assets/fonts/public-sans/PublicSans-Bold.woff2 differ diff --git a/app/assets/fonts/public-sans/PublicSans-BoldItalic.woff2 b/app/assets/fonts/public-sans/PublicSans-BoldItalic.woff2 index d4c9e303597..f6a8c62b38b 100644 Binary files a/app/assets/fonts/public-sans/PublicSans-BoldItalic.woff2 and b/app/assets/fonts/public-sans/PublicSans-BoldItalic.woff2 differ diff --git a/app/assets/fonts/public-sans/PublicSans-ExtraBold.woff2 b/app/assets/fonts/public-sans/PublicSans-ExtraBold.woff2 index c530ec8a2e4..498ef58283c 100644 Binary files a/app/assets/fonts/public-sans/PublicSans-ExtraBold.woff2 and b/app/assets/fonts/public-sans/PublicSans-ExtraBold.woff2 differ diff --git a/app/assets/fonts/public-sans/PublicSans-ExtraBoldItalic.woff2 b/app/assets/fonts/public-sans/PublicSans-ExtraBoldItalic.woff2 index fac7eba8f92..85786dc813c 100644 Binary files a/app/assets/fonts/public-sans/PublicSans-ExtraBoldItalic.woff2 and b/app/assets/fonts/public-sans/PublicSans-ExtraBoldItalic.woff2 differ diff --git a/app/assets/fonts/public-sans/PublicSans-ExtraLight.woff2 b/app/assets/fonts/public-sans/PublicSans-ExtraLight.woff2 index fa75130b250..665889361c9 100644 Binary files a/app/assets/fonts/public-sans/PublicSans-ExtraLight.woff2 and b/app/assets/fonts/public-sans/PublicSans-ExtraLight.woff2 differ diff --git a/app/assets/fonts/public-sans/PublicSans-ExtraLightItalic.woff2 b/app/assets/fonts/public-sans/PublicSans-ExtraLightItalic.woff2 index 3ec81ee675e..6e759644036 100644 Binary files a/app/assets/fonts/public-sans/PublicSans-ExtraLightItalic.woff2 and b/app/assets/fonts/public-sans/PublicSans-ExtraLightItalic.woff2 differ diff --git a/app/assets/fonts/public-sans/PublicSans-Italic.woff2 b/app/assets/fonts/public-sans/PublicSans-Italic.woff2 index ccec04ce01f..cf4eb5c18a5 100644 Binary files a/app/assets/fonts/public-sans/PublicSans-Italic.woff2 and b/app/assets/fonts/public-sans/PublicSans-Italic.woff2 differ diff --git a/app/assets/fonts/public-sans/PublicSans-Light.woff2 b/app/assets/fonts/public-sans/PublicSans-Light.woff2 index d7f9c368e2c..02bc7a23653 100644 Binary files a/app/assets/fonts/public-sans/PublicSans-Light.woff2 and b/app/assets/fonts/public-sans/PublicSans-Light.woff2 differ diff --git a/app/assets/fonts/public-sans/PublicSans-LightItalic.woff2 b/app/assets/fonts/public-sans/PublicSans-LightItalic.woff2 index 8349b5e0d6c..c24edf50297 100644 Binary files a/app/assets/fonts/public-sans/PublicSans-LightItalic.woff2 and b/app/assets/fonts/public-sans/PublicSans-LightItalic.woff2 differ diff --git a/app/assets/fonts/public-sans/PublicSans-Medium.woff2 b/app/assets/fonts/public-sans/PublicSans-Medium.woff2 index ca145b0684a..598662793b5 100644 Binary files a/app/assets/fonts/public-sans/PublicSans-Medium.woff2 and b/app/assets/fonts/public-sans/PublicSans-Medium.woff2 differ diff --git a/app/assets/fonts/public-sans/PublicSans-MediumItalic.woff2 b/app/assets/fonts/public-sans/PublicSans-MediumItalic.woff2 index ce5ac0b138f..3675f5422c0 100644 Binary files a/app/assets/fonts/public-sans/PublicSans-MediumItalic.woff2 and b/app/assets/fonts/public-sans/PublicSans-MediumItalic.woff2 differ diff --git a/app/assets/fonts/public-sans/PublicSans-Regular.woff2 b/app/assets/fonts/public-sans/PublicSans-Regular.woff2 index a64cd2680a5..82da6491fc8 100644 Binary files a/app/assets/fonts/public-sans/PublicSans-Regular.woff2 and b/app/assets/fonts/public-sans/PublicSans-Regular.woff2 differ diff --git a/app/assets/fonts/public-sans/PublicSans-SemiBold.woff2 b/app/assets/fonts/public-sans/PublicSans-SemiBold.woff2 index 58e47850f40..5ddfefb5c9c 100644 Binary files a/app/assets/fonts/public-sans/PublicSans-SemiBold.woff2 and b/app/assets/fonts/public-sans/PublicSans-SemiBold.woff2 differ diff --git a/app/assets/fonts/public-sans/PublicSans-SemiBoldItalic.woff2 b/app/assets/fonts/public-sans/PublicSans-SemiBoldItalic.woff2 index bda89fd272b..55d9fa2e28f 100644 Binary files a/app/assets/fonts/public-sans/PublicSans-SemiBoldItalic.woff2 and b/app/assets/fonts/public-sans/PublicSans-SemiBoldItalic.woff2 differ diff --git a/app/assets/fonts/public-sans/PublicSans-Thin.woff2 b/app/assets/fonts/public-sans/PublicSans-Thin.woff2 index 8791cc384c0..94755b36aa5 100644 Binary files a/app/assets/fonts/public-sans/PublicSans-Thin.woff2 and b/app/assets/fonts/public-sans/PublicSans-Thin.woff2 differ diff --git a/app/assets/fonts/public-sans/PublicSans-ThinItalic.woff2 b/app/assets/fonts/public-sans/PublicSans-ThinItalic.woff2 index 8dd022ad5b9..20f7f552215 100644 Binary files a/app/assets/fonts/public-sans/PublicSans-ThinItalic.woff2 and b/app/assets/fonts/public-sans/PublicSans-ThinItalic.woff2 differ diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb index 48790c362c1..ab38da49e84 100644 --- a/app/mailers/user_mailer.rb +++ b/app/mailers/user_mailer.rb @@ -253,6 +253,18 @@ def account_verified(date_time:, sp_name:) end end + def account_verified_but_not_connected(date_time:, sp_name:, sp_url:) + with_user_locale(user) do + @date = I18n.l(date_time, format: :event_date) + @sp_name = sp_name + @sp_url = sp_url + mail( + to: email_address.email, + subject: t('user_mailer.account_verified_but_not_connected.subject', sp_name: @sp_name), + ) + end + end + def in_person_completion_survey with_user_locale(user) do @header = t('user_mailer.in_person_completion_survey.header') diff --git a/app/views/user_mailer/account_verified.html.erb b/app/views/user_mailer/account_verified.html.erb index dff3fe44a73..1d9a92aafcb 100644 --- a/app/views/user_mailer/account_verified.html.erb +++ b/app/views/user_mailer/account_verified.html.erb @@ -4,11 +4,6 @@ sp_name: @sp_name, app_name: APP_NAME, date: @date, - change_password_link_html: link_to( - t('user_mailer.account_verified.change_password_link'), - new_user_password_url, - ), - contact_link_html: link_to(t('user_mailer.account_verified.contact_link'), MarketingSite.contact_url), ) %>

@@ -29,3 +24,14 @@ + +

+ <%= t( + 'user_mailer.account_verified.help_html', + change_password_link_html: link_to( + t('user_mailer.account_verified.change_password_link'), + new_user_password_url, + ), + contact_link_html: link_to(t('user_mailer.account_verified.contact_link'), MarketingSite.contact_url), + ) %> +

diff --git a/app/views/user_mailer/account_verified_but_not_connected.html.erb b/app/views/user_mailer/account_verified_but_not_connected.html.erb new file mode 100644 index 00000000000..2ff89648841 --- /dev/null +++ b/app/views/user_mailer/account_verified_but_not_connected.html.erb @@ -0,0 +1,47 @@ +

+ <%= t( + 'user_mailer.account_verified_but_not_connected.intro', + app_name: APP_NAME, + date: @date, + ) %> +

+ +

+ <%= t( + 'user_mailer.account_verified_but_not_connected.instructions_html', + sp_name: @sp_name, + ) %> +

+ +

+ <%= link_to @sp_url, @sp_url %> +

+ + + + + + + +
+   +
+ + + + + +
+   +
+ +

+ <%= t( + 'user_mailer.account_verified_but_not_connected.help_html', + change_password_link_html: link_to( + t('user_mailer.account_verified_but_not_connected.change_password_link'), + new_user_password_url, + ), + contact_link_html: link_to(t('user_mailer.account_verified_but_not_connected.contact_link'), MarketingSite.contact_url), + ) %> +

diff --git a/config/locales/en.yml b/config/locales/en.yml index 44ff74cef79..320036cb0f2 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1801,10 +1801,17 @@ user_mailer.account_reset_request.cancel: Don’t want to delete your account? S user_mailer.account_reset_request.header: Your account will be deleted in %{interval} user_mailer.account_reset_request.intro_html: 'As a security measure, %{app_name} requires a two-step process to delete your account:

Step One: There is a waiting period of %{waiting_period} if you have lost access to your authentication methods and need to delete your account. If you locate your authentication methods, you can sign in to your %{app_name} account to cancel this request.

Step Two: After the waiting period of %{waiting_period}, you will receive an email that will ask you to confirm the deletion of your %{app_name} account. Your account will not be deleted until you confirm.' user_mailer.account_reset_request.subject: How to delete your %{app_name} account +user_mailer.account_verified_but_not_connected.change_password_link: change your password +user_mailer.account_verified_but_not_connected.contact_link: contact us +user_mailer.account_verified_but_not_connected.help_html: If you did not perform this action, please %{contact_link_html} and sign in to %{change_password_link_html}. +user_mailer.account_verified_but_not_connected.instructions_html: Sign back in at the %{sp_name} website to connect your verified information and access services. +user_mailer.account_verified_but_not_connected.intro: You verified your identity with %{app_name} on %{date} +user_mailer.account_verified_but_not_connected.subject: '[Action required] Connect your information to %{sp_name}.' user_mailer.account_verified.change_password_link: change your password user_mailer.account_verified.contact_link: contact us -user_mailer.account_verified.intro_html: You successfully verified your identity with %{sp_name} on %{date} using %{app_name}. If you did not perform this action, please %{contact_link_html} and sign in to %{change_password_link_html}. -user_mailer.account_verified.subject: You verified your identity with %{sp_name}. +user_mailer.account_verified.help_html: If you did not perform this action, please %{contact_link_html} and sign in to %{change_password_link_html}. +user_mailer.account_verified.intro_html: On %{date}, you used %{app_name} to: +user_mailer.account_verified.subject: You verified your identity for %{sp_name}. user_mailer.add_email_associated_with_another_account.help_html: If you did not request a new email or suspect an error, please visit the %{app_name_html} %{help_link_html} or %{contact_link_html}. user_mailer.add_email_associated_with_another_account.intro_html: This email address is already associated with a %{app_name_html} account, so we can’t add it to another account. You must first delete or remove it from the account it is associated with. To do this, follow the link below and sign in with this email address. If you are not trying to add this email address to an account, you can ignore this message. user_mailer.add_email_associated_with_another_account.link_text: Go to %{app_name} diff --git a/config/locales/es.yml b/config/locales/es.yml index 565ec5e2d31..b4dd0a0d641 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -1813,10 +1813,17 @@ user_mailer.account_reset_request.cancel: '¿No desea eliminar su cuenta? Inicie user_mailer.account_reset_request.header: Su cuenta será eliminada en %{interval} user_mailer.account_reset_request.intro_html: 'Como medida de seguridad, %{app_name} requiere un proceso de dos pasos para eliminar su cuenta:

Paso uno: Hay un período de espera de %{waiting_period} si perdió el acceso a sus métodos de autenticación y necesita eliminar su cuenta. Si encuentra sus métodos de autenticación, puede iniciar sesión en su cuenta %{app_name} para cancelar esta solicitud.

Paso dos: Tras el período de espera de %{waiting_period}, recibirás un correo electrónico en el que te pediremos que confirmes la eliminación de tu cuenta %{app_name}. Tu cuenta no se eliminará hasta que lo confirmes.' user_mailer.account_reset_request.subject: Cómo eliminar su cuenta de %{app_name} -user_mailer.account_verified.change_password_link: cambie su contraseña -user_mailer.account_verified.contact_link: contáctenos -user_mailer.account_verified.intro_html: El %{date}, verificó correctamente su identidad con %{sp_name} usando %{app_name}. Si usted no efectuó esta acción, vaya a %{contact_link_html} e inicie sesión para %{change_password_link_html}. -user_mailer.account_verified.subject: Verificó su identidad con %{sp_name} +user_mailer.account_verified_but_not_connected.change_password_link: cambiar su contraseña +user_mailer.account_verified_but_not_connected.contact_link: contacte con nosotros +user_mailer.account_verified_but_not_connected.help_html: Si usted no efectuó esta acción, %{contact_link_html} e inicie sesión para %{change_password_link_html}. +user_mailer.account_verified_but_not_connected.instructions_html: Vuelva a iniciar sesión en el sitio web de %{sp_name} para conectar su información verificada y acceder a los servicios. +user_mailer.account_verified_but_not_connected.intro: Usted verificó su identidad con %{app_name} el %{date}. +user_mailer.account_verified_but_not_connected.subject: '[Acción requerida] Conecte su información a %{sp_name}' +user_mailer.account_verified.change_password_link: cambiar su contraseña +user_mailer.account_verified.contact_link: contacte con nosotros +user_mailer.account_verified.help_html: Si usted no efectuó esta acción, %{contact_link_html} e inicie sesión para %{change_password_link_html}. +user_mailer.account_verified.intro_html: El %{date}, usted usó %{app_name} para: +user_mailer.account_verified.subject: Usted verificó su identidad para %{sp_name} user_mailer.add_email_associated_with_another_account.help_html: Si no solicitó un nuevo correo electrónico o sospecha que hubo un error, visite %{help_link_html} de %{app_name_html} o %{contact_link_html}. user_mailer.add_email_associated_with_another_account.intro_html: Esta dirección de correo electrónico ya está asociada con una cuenta de %{app_name_html}, por lo que no podemos agregarla a otra cuenta. Primero, debe eliminarla o quitarla de la cuenta con la que está asociada. Para hacerlo, siga este vínculo e inicie sesión con esta dirección de correo electrónico. Si no está intentando agregar esta dirección de correo electrónico a una cuenta, puede ignorar este mensaje. user_mailer.add_email_associated_with_another_account.link_text: Ir a %{app_name} diff --git a/config/locales/fr.yml b/config/locales/fr.yml index a0030ab645f..c2f48a87d44 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -1801,10 +1801,17 @@ user_mailer.account_reset_request.cancel: Vous ne voulez pas supprimer votre com user_mailer.account_reset_request.header: Votre compte sera supprimé dans %{interval} user_mailer.account_reset_request.intro_html: 'Par mesure de sécurité, %{app_name} nécessite un processus en deux étapes pour supprimer votre compte:

Étape 1: Il y a un delai d’attente de %{waiting_period} si vous avez perdu l’accès à vos méthodes d’authentification et devez supprimer votre compte. Si vous trouvez vos méthodes d’authentification, vous pouvez vous connecter à votre compte %{app_name} pour annuler cette demande.

Deuxième étape: après la période d’attente de %{waiting_period}, vous recevrez un e-mail qui vous demandera de confirmer la suppression de votre compte %{app_name}. Votre compte ne sera pas supprimé tant que vous n’aurez pas confirmé.' user_mailer.account_reset_request.subject: Comment supprimer votre compte %{app_name} +user_mailer.account_verified_but_not_connected.change_password_link: changer votre mot de passe +user_mailer.account_verified_but_not_connected.contact_link: nous contacter +user_mailer.account_verified_but_not_connected.help_html: Si vous n’avez pas effectué cette action, veuillez %{contact_link_html} et vous connecter pour %{change_password_link_html}. +user_mailer.account_verified_but_not_connected.instructions_html: Connectez-vous à nouveau sur le site %{sp_name} pour y associer vos renseignements confirmés et accéder aux services. +user_mailer.account_verified_but_not_connected.intro: Le %{date}, vous avez confirmé votre identité auprès de %{app_name}. +user_mailer.account_verified_but_not_connected.subject: '[Action requise] Connectez vos renseignements à %{sp_name}.' user_mailer.account_verified.change_password_link: changer votre mot de passe user_mailer.account_verified.contact_link: nous contacter -user_mailer.account_verified.intro_html: Le %{date}, vous avez réussi à confirmer votre identité auprès de %{sp_name} à l’aide de %{app_name}. Si vous n’avez pas effectué cette action, veuillez %{contact_link_html} et vous connecter pour %{change_password_link_html}. -user_mailer.account_verified.subject: Vous avez confirmé votre identité avec %{sp_name}. +user_mailer.account_verified.help_html: Si vous n’avez pas effectué cette action, veuillez %{contact_link_html} et vous connecter pour %{change_password_link_html}. +user_mailer.account_verified.intro_html: Le %{date}, vous avez utilisé %{app_name} pour : +user_mailer.account_verified.subject: Vous avez confirmé votre identité auprès de %{sp_name}. user_mailer.add_email_associated_with_another_account.help_html: Si vous n’avez pas demandé de nouvel e-mail ou suspectez une erreur, veuillez visiter le %{help_link_html} de %{app_name_html} ou %{contact_link_html}. user_mailer.add_email_associated_with_another_account.intro_html: Cette adresse e-mail est déjà associée à un compte %{app_name_html}, nous ne pouvons donc pas l’ajouter à un autre compte. Vous devez d’abord la supprimer ou la retirer du compte auquel elle est associée. Pour ce faire, suivez le lien ci-dessous et connectez-vous avec cette adresse e-mail. Si vous n’essayez pas d’ajouter cette adresse e-mail à un compte, vous pouvez ignorer ce message. user_mailer.add_email_associated_with_another_account.link_text: Allez sur %{app_name} diff --git a/config/locales/zh.yml b/config/locales/zh.yml index f00c090849f..8c2d5bc1b4e 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -1814,10 +1814,17 @@ user_mailer.account_reset_request.cancel: 不想删除你的账户?登入你 user_mailer.account_reset_request.header: 你的账户会在%{interval}后删除。 user_mailer.account_reset_request.intro_html: 作为一项安全措施,%{app_name} 要求一个两步流程来删除你的帐户:

第一步:如果你丢失了身份证实方法但需删除账户,有一个%{waiting_period} 的等待期。如果你找到了身份证实方法,可以登录你的 %{app_name} 帐户来取消这个请求。

第二步:%{waiting_period}等待期之后,你会收到一封电邮,请你确认要删除 %{app_name} 账户。只有经你确认后,你的账户才会被删除。 user_mailer.account_reset_request.subject: 如何删除你的 %{app_name} 账户 -user_mailer.account_verified.change_password_link: 更改密码 +user_mailer.account_verified_but_not_connected.change_password_link: 更改您的密码 +user_mailer.account_verified_but_not_connected.contact_link: 联系我们 +user_mailer.account_verified_but_not_connected.help_html: 如果您没有采取过这个行动,请 %{contact_link_html} 并登录以 %{change_password_link_html}。 +user_mailer.account_verified_but_not_connected.instructions_html: 重新登录 %{sp_name} 网站以连接您验证过的信息并获得服务。 +user_mailer.account_verified_but_not_connected.intro: 您已于 %{date} 在 %{app_name} 上验证了身份。 +user_mailer.account_verified_but_not_connected.subject: '[需要采取行动] 将您的信息连接到 %{sp_name}' +user_mailer.account_verified.change_password_link: 更改您的密码 user_mailer.account_verified.contact_link: 联系我们 -user_mailer.account_verified.intro_html: 你于 %{date} 使用 %{app_name} 在 %{sp_name}成功验证了身份。如果你没有采取这一行动,请 %{contact_link_html} 并登录 %{change_password_link_html}。 -user_mailer.account_verified.subject: 你在 %{sp_name} 验证了身份。 +user_mailer.account_verified.help_html: 如果您没有采取过这个行动,请 %{contact_link_html} 并登录以 %{change_password_link_html}。 +user_mailer.account_verified.intro_html: 在 %{date},您使用了 %{app_name} 来: +user_mailer.account_verified.subject: 您已为 %{sp_name} 验证了身份 user_mailer.add_email_associated_with_another_account.help_html: 如果你没有要求一封新电邮或怀疑有错, 请访问 %{app_name_html}的 %{help_link_html} 或者 %{contact_link_html}。 user_mailer.add_email_associated_with_another_account.intro_html: 该电邮地址已与一个 %{app_name_html}账户相关联,所以我们不能把它加到另外一个账户上。你必须首先将其从与之相关的账户中删除或去掉。要做到这一点,点击以下链接并用该电邮地址登录。如果你没有试图将此电邮地址加到一个账户,可忽略这一信息。 user_mailer.add_email_associated_with_another_account.link_text: 请到 %{app_name} diff --git a/spec/mailers/previews/user_mailer_preview.rb b/spec/mailers/previews/user_mailer_preview.rb index 8acb83c15f6..ad153d1d818 100644 --- a/spec/mailers/previews/user_mailer_preview.rb +++ b/spec/mailers/previews/user_mailer_preview.rb @@ -150,6 +150,16 @@ def account_verified ) end + def account_verified_but_not_connected + UserMailer.with( + user: user, email_address: email_address_record, + ).account_verified_but_not_connected( + date_time: DateTime.now, + sp_name: 'Example App', + sp_url: 'https://www.example.com/', + ) + end + def in_person_completion_survey UserMailer.with(user: user, email_address: email_address_record).in_person_completion_survey end diff --git a/spec/mailers/user_mailer_spec.rb b/spec/mailers/user_mailer_spec.rb index 4ec60f3f88a..17ddf57d51c 100644 --- a/spec/mailers/user_mailer_spec.rb +++ b/spec/mailers/user_mailer_spec.rb @@ -540,6 +540,38 @@ def expect_email_body_to_have_help_and_contact_links end end + describe '#account_verified_but_not_connected' do + let(:sp_name) { '' } + let(:sp_url) { 'https://www.example.com' } + let(:date_time) { Time.zone.now } + let(:mail) do + UserMailer.with(user: user, email_address: email_address). + account_verified_but_not_connected(date_time: date_time, sp_name: sp_name, sp_url: sp_url) + end + + it_behaves_like 'a system email' + it_behaves_like 'an email that respects user email locale preference' + + it 'sends to the current email' do + expect(mail.to).to eq [email_address.email] + end + + it 'renders the subject' do + expect(mail.subject).to eq t( + 'user_mailer.account_verified_but_not_connected.subject', + sp_name: sp_name, + ) + end + + it 'links to the forgot password page' do + expect(mail.html_part.body).to have_selector("a[href='#{new_user_password_url}']") + end + + it 'links to the sp URL' do + expect(mail.html_part.body).to have_selector("a[href='#{sp_url}']") + end + end + context 'in person emails' do let(:current_address_matches_id) { false } let!(:enrollment) do