You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As a logged-in user,
I want to update my email address from my profile page,
So that I can ensure my account is linked to the correct email address.
Initiate Email Change
Verify New Email
Confirmation Emails
Acceptance Criteria (AC)
1. Initiate Email Change
Given I am on the profile page, When I enter a new email address in the email field and submit the change through a bottom sheet, Then I should see a confirmation page indicating that a verification link has been sent to the new email address.
Note: Use the same deep-link approach/designs/pages as in the onboarding flow
Given I have entered an email that is already associated with another account, When I try to submit the change, Then I should see an error message, "This email is already in use."
Note: The validation related messages should be controlled by the API
2. Verify New Email
Given I have received an email verification link, When I click the link, Then my email should be successfully updated, and I should receive a confirmation notification on both the old and new email addresses.
Note: Use the same deep-link approach/designs/pages as in the onboarding flow
Given I click the email verification link after it has expired, When I am redirected, Then I should see an error message indicating the link is invalid or expired, with an option to resend the verification email.
Note: Use the same deep-link approach/designs/pages as in the onboarding flow
3. Email Change Notification
Given I have successfully updated my email address, When I check my inbox, Then I should receive a confirmation that my email address has been changed
Note: Use the same deep-link approach/designs/pages as in the onboarding flow
DevNotes
Build this functionality as part of the onboarding brick
User Story: Change Email Address in Profile Page
As a logged-in user,
I want to update my email address from my profile page,
So that I can ensure my account is linked to the correct email address.
Acceptance Criteria (AC)
1. Initiate Email Change
Given I am on the profile page,
When I enter a new email address in the email field and submit the change through a bottom sheet,
Then I should see a confirmation page indicating that a verification link has been sent to the new email address.
Note: Use the same deep-link approach/designs/pages as in the onboarding flow
Given I have entered an email that is already associated with another account,
When I try to submit the change,
Then I should see an error message, "This email is already in use."
Note: The validation related messages should be controlled by the API
2. Verify New Email
Given I have received an email verification link,
When I click the link,
Then my email should be successfully updated, and I should receive a confirmation notification on both the old and new email addresses.
Note: Use the same deep-link approach/designs/pages as in the onboarding flow
Given I click the email verification link after it has expired,
When I am redirected,
Then I should see an error message indicating the link is invalid or expired, with an option to resend the verification email.
Note: Use the same deep-link approach/designs/pages as in the onboarding flow
3. Email Change Notification
When I check my inbox,
Then I should receive a confirmation that my email address has been changed
Note: Use the same deep-link approach/designs/pages as in the onboarding flow
DevNotes
API Contract
1. Initiate Email Change
Endpoint:
PATCH /api/users/me
Headers:
Authorization: Bearer <token>
Request Body:
Response:
2. Verify New Email
Endpoint:
POST /api/users/me/email/confirm
Headers:
Authorization: Bearer <token>
Request
Response:
3. Resend Verification Email
Endpoint:
POST /api/users/me/email/resend-confirmation
Headers:
Authorization: Bearer <token>
Description: Resends the confirmation link to the user.
Response
Success (200): UserModel
Error (400):
The text was updated successfully, but these errors were encountered: