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:- Verify your identity
- Connect your verified information to %{sp_name}
+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:- Verificar su identidad
- Conectar su información verificada a %{sp_name}
+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 :- Confirmer votre identité
- Connecter vos renseignements confirmés à %{sp_name}
+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} 来:- 验证您的身份
- 将您验证过的信息连接到 %{sp_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