forked from rubygems/rubygems.org
/
password_reset.feature
47 lines (42 loc) · 2.08 KB
/
password_reset.feature
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Feature: Password reset
In order to sign in even if user forgot their password
A user
Should be able to reset it
Scenario: User is not signed up
Given no user exists with an email of "email@person.com"
When I request password reset link to be sent to "email@person.com"
Then I should see "Unknown email"
Scenario: User is signed up and requests password reset
Given I signed up with "email@person.com/password"
When I request password reset link to be sent to "email@person.com"
Then I should see "instructions for changing your password"
And a password reset message should be sent to "email@person.com"
Scenario: User is signed up updated his password and types wrong confirmation
Given I signed up with "email@person.com/password"
When I follow the password reset link sent to "email@person.com"
And I update my password with "newpassword/wrongconfirmation"
Then I should see error messages
And I should be signed out
Scenario: User is signed up and updates his password
Given I signed up with "email@person.com/password"
When I follow the password reset link sent to "email@person.com"
And I update my password with "newpassword/newpassword"
Then I should be signed in
When I sign out
Then I should be signed out
And I sign in as "email@person.com/newpassword"
Then I should be signed in
Scenario: User is signed up and updates his password without having a handle
Given I signed up with "email@person.com/password"
And my handle is nil
When I go to the password reset request page
And I fill in "Email address" with "email@person.com"
And I press "Reset password"
Then a password reset message should be sent to "email@person.com"
When I follow the password reset link sent to "email@person.com"
And I update my password with "newpassword/newpassword"
Then I should be signed in
When I sign out
Then I should be signed out
And I sign in as "email@person.com/newpassword"
Then I should be signed in