otwarchive-symphonyarchive/features/users/user_create.feature
2026-03-11 22:22:11 +00:00

86 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