We have sent a recovery email to{{ recoveryForm.get('email').value }}
+ > {{ recoveryForm.get('email').value }}@if (isPasswordReset) { and any other verified email addresses on your account}
diff --git a/src/app/password-recovery/pages/password-recovery/password-recovery.component.spec.ts b/src/app/password-recovery/pages/password-recovery/password-recovery.component.spec.ts
index ddbddc434..567d0a46f 100644
--- a/src/app/password-recovery/pages/password-recovery/password-recovery.component.spec.ts
+++ b/src/app/password-recovery/pages/password-recovery/password-recovery.component.spec.ts
@@ -56,4 +56,35 @@ describe('PasswordRecoveryComponent', () => {
it('should create', () => {
expect(component).toBeTruthy()
})
+
+ /** Renders the confirmation branch for the given recovery type and returns its text. */
+ function confirmationTextFor(recoveryType: string): string {
+ component.recoveryForm.get('recoveryType').setValue(recoveryType)
+ component.recoveryForm.get('email').setValue('josiah_carberry@brown.edu')
+ component.submitted = true
+ fixture.detectChanges()
+ return fixture.nativeElement.textContent
+ }
+
+ it('mentions the other verified addresses after a password reset', () => {
+ expect(confirmationTextFor('password')).toContain(
+ 'and any other verified email addresses on your account'
+ )
+ })
+
+ it('does not mention other verified addresses on the forgot-iD path', () => {
+ // /forgot-id.json still emails a single address, so the fan out wording would be a lie here.
+ expect(confirmationTextFor('orcidId')).not.toContain(
+ 'and any other verified email addresses on your account'
+ )
+ })
+
+ it('still shows the submitted email in both modes', () => {
+ expect(confirmationTextFor('password')).toContain(
+ 'josiah_carberry@brown.edu'
+ )
+ expect(confirmationTextFor('orcidId')).toContain(
+ 'josiah_carberry@brown.edu'
+ )
+ })
})
diff --git a/src/app/password-recovery/pages/password-recovery/password-recovery.component.ts b/src/app/password-recovery/pages/password-recovery/password-recovery.component.ts
index a97d6b375..d30cbb83f 100644
--- a/src/app/password-recovery/pages/password-recovery/password-recovery.component.ts
+++ b/src/app/password-recovery/pages/password-recovery/password-recovery.component.ts
@@ -25,6 +25,14 @@ export class PasswordRecoveryComponent implements OnInit {
ariaLabelMyOrcidAccountPassword = $localize`:@@recovery.myOrcidAccountPassword:my ORCID account password`
ariaLabelMy16DigitOrcidId = $localize`:@@recovery.my16DigitOrcidId:my 16-digit ORCID iD`
+ /**
+ * The confirmation block is shared with the "remind me my ORCID iD" flow, which still emails a
+ * single address, so only the password reset path may claim the fan out.
+ */
+ get isPasswordReset(): boolean {
+ return this.recoveryForm?.get('recoveryType')?.value === 'password'
+ }
+
ngOnInit() {
this.recoveryForm = new FormGroup({
recoveryType: new FormControl('password', Validators.required),
diff --git a/src/locale/messages.lr.xlf b/src/locale/messages.lr.xlf
index 7a4380983..f7c5a8c7e 100644
--- a/src/locale/messages.lr.xlf
+++ b/src/locale/messages.lr.xlf
@@ -11831,11 +11831,19 @@
LR
+
+ and any other verified email addresses on your account
+
+ src/app/password-recovery/pages/password-recovery/password-recovery.component.html
+ 168
+
+ LR
+ If you do not receive the recovery email within 10 minutes please check your spam folder.src/app/password-recovery/pages/password-recovery/password-recovery.component.html
- 168,171
+ 172,175LR
@@ -11843,7 +11851,7 @@
Back to sign insrc/app/password-recovery/pages/password-recovery/password-recovery.component.html
- 178
+ 182LR
diff --git a/src/locale/messages.rl.xlf b/src/locale/messages.rl.xlf
index ea204007a..8500716f2 100644
--- a/src/locale/messages.rl.xlf
+++ b/src/locale/messages.rl.xlf
@@ -11831,11 +11831,19 @@
RL
+
+ and any other verified email addresses on your account
+
+ src/app/password-recovery/pages/password-recovery/password-recovery.component.html
+ 168
+
+ RL
+ If you do not receive the recovery email within 10 minutes please check your spam folder.src/app/password-recovery/pages/password-recovery/password-recovery.component.html
- 168,171
+ 172,175RL
@@ -11843,7 +11851,7 @@
Back to sign insrc/app/password-recovery/pages/password-recovery/password-recovery.component.html
- 178
+ 182RL
diff --git a/src/locale/messages.xlf b/src/locale/messages.xlf
index 2844f2434..269fd6803 100644
--- a/src/locale/messages.xlf
+++ b/src/locale/messages.xlf
@@ -10623,18 +10623,25 @@
164
+
+ and any other verified email addresses on your account
+
+ src/app/password-recovery/pages/password-recovery/password-recovery.component.html
+ 168
+
+ If you do not receive the recovery email within 10 minutes please check your spam folder.src/app/password-recovery/pages/password-recovery/password-recovery.component.html
- 168,171
+ 172,175Back to sign insrc/app/password-recovery/pages/password-recovery/password-recovery.component.html
- 178
+ 182
diff --git a/src/locale/messages.xx.xlf b/src/locale/messages.xx.xlf
index f7fd69e6f..a3abc340d 100644
--- a/src/locale/messages.xx.xlf
+++ b/src/locale/messages.xx.xlf
@@ -11831,11 +11831,19 @@
X
+
+ and any other verified email addresses on your account
+
+ src/app/password-recovery/pages/password-recovery/password-recovery.component.html
+ 168
+
+ X
+ If you do not receive the recovery email within 10 minutes please check your spam folder.src/app/password-recovery/pages/password-recovery/password-recovery.component.html
- 168,171
+ 172,175X
@@ -11843,7 +11851,7 @@
Back to sign insrc/app/password-recovery/pages/password-recovery/password-recovery.component.html
- 178
+ 182X