mirror of
https://github.com/jcreek/LivingDexTracker.git
synced 2026-09-14 17:42:17 +00:00
62 lines
1.9 KiB
Gherkin
62 lines
1.9 KiB
Gherkin
Feature: Account access
|
|
As a trainer
|
|
I want secure access to my account
|
|
So that only I can update my collection
|
|
|
|
Scenario: Register a new account
|
|
Given I am a new visitor
|
|
When I register with valid account details
|
|
Then I am told to confirm my email
|
|
And a confirmation email is captured locally
|
|
|
|
Scenario: Sign in with valid credentials
|
|
Given I have a confirmed account
|
|
When I sign in with my credentials
|
|
Then I arrive at my Pokédex list
|
|
|
|
Scenario: Reject invalid credentials
|
|
Given I have a confirmed account
|
|
When I sign in with an incorrect password
|
|
Then I see a sign-in error
|
|
|
|
Scenario: Redirect an authenticated visitor
|
|
Given I am signed in
|
|
When I visit the public home page
|
|
Then I arrive at my Pokédex list
|
|
|
|
Scenario: Sign out
|
|
Given I am signed in
|
|
And my offline copy is synchronized
|
|
When I sign out
|
|
Then I return to the public home page
|
|
And my offline copy is removed
|
|
|
|
Scenario: Keep the session when sign out fails
|
|
Given I am signed in
|
|
And my offline copy is synchronized
|
|
When the sign-out request fails
|
|
Then I remain signed in with an error
|
|
And my offline copy remains
|
|
|
|
Scenario: Request a password reset
|
|
Given I have a confirmed account
|
|
When I request a password reset
|
|
Then a password reset email is captured locally
|
|
|
|
Scenario: Reject a normal session on the recovery page
|
|
Given I am signed in
|
|
When I visit the password recovery page directly
|
|
Then the replacement password form is unavailable
|
|
|
|
@product-review
|
|
Scenario: Reject mismatched replacement passwords
|
|
Given I follow a valid password reset link
|
|
When I enter two different replacement passwords
|
|
Then I am told that the passwords do not match
|
|
|
|
Scenario: Complete a password reset
|
|
Given I follow a valid password reset link
|
|
When I enter a valid replacement password
|
|
Then I am told that my password was updated
|
|
And only the replacement password signs me in
|