87 lines
4.9 KiB
Gherkin
87 lines
4.9 KiB
Gherkin
|
|
Feature: Sign Up for a new account
|
||
|
|
In order to add works to the Archive.
|
||
|
|
As an unregistered user.
|
||
|
|
I want to be able to create a new account.
|
||
|
|
|
||
|
|
Background:
|
||
|
|
Given account creation is enabled
|
||
|
|
And account creation requires an invitation
|
||
|
|
And I am a visitor
|
||
|
|
And I use an invitation to sign up
|
||
|
|
|
||
|
|
Scenario Outline: The user should see validation errors when signing up with invalid data.
|
||
|
|
When I fill in the sign up form with valid data
|
||
|
|
And I fill in "<field>" with "<value>"
|
||
|
|
And I press "Create Account"
|
||
|
|
Then I should see "<error>"
|
||
|
|
And I should not see "Almost Done!"
|
||
|
|
Examples:
|
||
|
|
| field | value | error |
|
||
|
|
| user_registration_login | xx | Username is too short (minimum is 3 characters)|
|
||
|
|
| user_registration_login | 87151d8ae964d55515cb986d40394f79ca5c8329c07a8e59f2f783cbfbe401f69a780f27277275b7b2 | Username is too long (maximum is 40 characters) |
|
||
|
|
| user_registration_password | pass | Password is too short (minimum is 6 characters) |
|
||
|
|
| user_registration_password | 87151d8ae964d55515cb986d40394f79ca5c8329c07a8e59f2f783cbfbe401f69a780f27277275b7b2 | Password is too long (maximum is 40 characters) |
|
||
|
|
| user_registration_password_confirmation | password2 | Password confirmation doesn't match |
|
||
|
|
| user_registration_email | | Email should look like an email address |
|
||
|
|
| user_registration_email | fake@fake@fake | Email should look like an email address |
|
||
|
|
|
||
|
|
Scenario Outline: The user should see validation errors when signing up without filling in required fields.
|
||
|
|
When I press "Create Account"
|
||
|
|
Then I should see "<error>"
|
||
|
|
And I should not see "Almost Done!"
|
||
|
|
Examples:
|
||
|
|
| field | error |
|
||
|
|
| user_registration_age_over_13 | Sorry, you have to be over 13! |
|
||
|
|
| user_registration_terms_of_service | Sorry, you need to accept the Terms of Service in order to sign up. |
|
||
|
|
| user_registration_data_processing | Sorry, you need to consent to the processing of your personal data in order to sign up. |
|
||
|
|
|
||
|
|
Scenario: The user should be able to sign up after fixing form errors.
|
||
|
|
When I fill in the sign up form with valid data
|
||
|
|
And I fill in "Valid email" with "lyingrobot@example.com"
|
||
|
|
And I uncheck "Yes, I have read the Terms of Service, including the Content Policy and Privacy Policy, and agree to them."
|
||
|
|
And I press "Create Account"
|
||
|
|
Then I should see "Sorry, you need to accept the Terms of Service in order to sign up."
|
||
|
|
And I should not see "Sorry, you have to be over 13!"
|
||
|
|
# Email should be what the user filled in, not the invitee email on the invitation
|
||
|
|
And I should see "lyingrobot@example.com" in the "Valid email" input
|
||
|
|
|
||
|
|
When I check "Yes, I have read the Terms of Service, including the Content Policy and Privacy Policy, and agree to them."
|
||
|
|
And I fill in "Password" with "password"
|
||
|
|
And I fill in "Confirm password" with "password"
|
||
|
|
And all emails have been delivered
|
||
|
|
And I press "Create Account"
|
||
|
|
Then I should see "Almost Done!"
|
||
|
|
And 1 email should be delivered to "lyingrobot@example.com"
|
||
|
|
And I should get a new user activation email
|
||
|
|
And a new user account should exist
|
||
|
|
|
||
|
|
Scenario: The user should not be able to sign up with a login that is already in use
|
||
|
|
Given the following users exist
|
||
|
|
| login | password |
|
||
|
|
| user1 | password |
|
||
|
|
When I fill in the sign up form with valid data
|
||
|
|
And I fill in "user_registration_login" with "user1"
|
||
|
|
And I press "Create Account"
|
||
|
|
Then I should see "Username has already been taken"
|
||
|
|
And I should not see "Almost Done!"
|
||
|
|
|
||
|
|
Scenario: The user should not be able to sign up with a login that is already in use, no matter the case
|
||
|
|
Given the following users exist
|
||
|
|
| login | password |
|
||
|
|
| user1 | password |
|
||
|
|
When I fill in the sign up form with valid data
|
||
|
|
And I fill in "user_registration_login" with "USER1"
|
||
|
|
And I press "Create Account"
|
||
|
|
Then I should see "Username has already been taken"
|
||
|
|
And I should not see "Almost Done!"
|
||
|
|
|
||
|
|
Scenario: The user should be able to create a new account with a valid email and password
|
||
|
|
When I fill in the sign up form with valid data
|
||
|
|
Then I should see the page title "Create Account"
|
||
|
|
When all emails have been delivered
|
||
|
|
And I press "Create Account"
|
||
|
|
Then I should see the page title "Account Created"
|
||
|
|
And I should see "Almost Done!"
|
||
|
|
And I should get a new user activation email
|
||
|
|
And a new user account should exist
|