2017-09-01 15:24:36 +08:00
|
|
|
Feature: Settings
|
2017-10-10 15:17:55 +08:00
|
|
|
As a user
|
|
|
|
I want to be able to change Profile data for my account
|
|
|
|
So that I have a my prefered settings
|
2017-09-01 15:24:36 +08:00
|
|
|
|
|
|
|
Background:
|
2017-10-10 15:17:55 +08:00
|
|
|
Given the "BioSistemika Process" team exists
|
|
|
|
Given the following users are registered
|
|
|
|
| email | password | password_confirmation | full_name | initials |
|
|
|
|
| nonadmin@myorg.com | mypassword1234 | mypassword1234 | Karli Novak | KN |
|
|
|
|
And "nonadmin@myorg.com" is in "BioSistemika Process" team as a "normal_user"
|
2017-11-08 00:18:41 +08:00
|
|
|
And "nonadmin@myorg.com" is signed in with "mypassword1234"
|
2017-09-01 15:24:36 +08:00
|
|
|
|
2017-10-24 21:39:06 +08:00
|
|
|
@javascript
|
2017-09-01 15:24:36 +08:00
|
|
|
Scenario: Successful navigate to profile page
|
2017-10-10 15:17:55 +08:00
|
|
|
Given I'm on the home page of "BioSistemika Process" team
|
2017-10-11 15:51:20 +08:00
|
|
|
And I click on Avatar
|
2017-10-27 22:37:42 +08:00
|
|
|
And I click "Settings" link within "#user-account-dropdown"
|
2017-10-11 16:37:18 +08:00
|
|
|
Then I should see "My Profile"
|
2017-09-01 15:24:36 +08:00
|
|
|
|
2017-10-11 15:51:20 +08:00
|
|
|
@javascript
|
2017-10-16 22:21:52 +08:00
|
|
|
Scenario: Unsuccessful avatar image upload, file is too big
|
2017-10-11 15:51:20 +08:00
|
|
|
Given I'm on the profile page
|
|
|
|
Then I click on image within ".avatar-container" element
|
2017-10-16 22:21:52 +08:00
|
|
|
And I attach a "Moon.png" file to "user_avatar_input" field
|
2017-10-24 19:49:33 +08:00
|
|
|
And I should see "file too large (maximum size is 0.2 MB)" error message under "user_avatar_input" field
|
2017-09-01 15:24:36 +08:00
|
|
|
|
2017-10-16 22:21:52 +08:00
|
|
|
@javascript
|
|
|
|
Scenario: Unsuccessful avatar image upload, file is invalid
|
|
|
|
Given I'm on the profile page
|
|
|
|
Then I click on image within ".avatar-container" element
|
|
|
|
And I attach a "File.txt" file to "user_avatar_input" field
|
2017-10-24 19:49:33 +08:00
|
|
|
And I should see "invalid file extension" error message under "user_avatar_input" field
|
2017-09-01 15:24:36 +08:00
|
|
|
|
2017-10-16 22:21:52 +08:00
|
|
|
@javascript
|
|
|
|
Scenario: Successful upload avatar image
|
|
|
|
Given I'm on the profile page
|
|
|
|
Then I click on image within ".avatar-container" element
|
|
|
|
And I attach a "Star.png" file to "user_avatar_input" field
|
2017-10-24 21:39:06 +08:00
|
|
|
Then I click "Upload" button
|
2017-09-01 15:24:36 +08:00
|
|
|
And I should see "Your account has been updated successfully" flash message
|
|
|
|
|
2017-10-16 22:21:52 +08:00
|
|
|
@javascript
|
|
|
|
Scenario: Successfully changes user full name
|
|
|
|
Given I'm on the profile page
|
|
|
|
Then I click on Edit on "settings_page.full_name" input field
|
|
|
|
And I fill in "Karli Novak Novakovic" in "settings_page.full_name" input field
|
|
|
|
Then I click "Update" button
|
|
|
|
And I should see "Karli Novak Novakovic" in "settings_page.full_name" input field
|
2017-09-01 15:24:36 +08:00
|
|
|
|
2017-10-16 22:21:52 +08:00
|
|
|
@javascript
|
|
|
|
Scenario: Unsuccessfully changes user initials, text is too long
|
|
|
|
Given I'm on the profile page
|
|
|
|
Then I click on Edit on "settings_page.initials" input field
|
|
|
|
And I fill in "KNOCK" in "settings_page.initials" input field
|
|
|
|
And I should see "is too long (maximum is 4 characters)" error message under "settings_page.initials" field
|
2017-09-01 15:24:36 +08:00
|
|
|
|
2017-10-16 22:21:52 +08:00
|
|
|
@javascript
|
|
|
|
Scenario: Successfully changes user initials
|
|
|
|
Given I'm on the profile page
|
|
|
|
Then I click on Edit on "settings_page.initials" input field
|
|
|
|
And I fill in "KN" in "settings_page.initials" input field
|
|
|
|
Then I click "Update" button
|
|
|
|
And I should see "KN" in "settings_page.initials" input field
|
2017-09-01 15:24:36 +08:00
|
|
|
|
2017-10-16 22:21:52 +08:00
|
|
|
@javascript
|
|
|
|
Scenario: Successfully changes user email
|
|
|
|
Given I'm on the profile page
|
2017-10-24 21:39:06 +08:00
|
|
|
Then I click on Edit on "settings_page.email" input field
|
2017-10-16 22:21:52 +08:00
|
|
|
And I change "nonadmin@myorg.com" with "user@myorg.com" email
|
2017-09-01 15:24:36 +08:00
|
|
|
And I fill in "mypassword1234" in Current password field
|
2017-10-16 22:21:52 +08:00
|
|
|
Then I click "Update" button
|
2017-10-24 21:39:06 +08:00
|
|
|
And I should see "user@myorg.com" in "settings_page.email" input field
|
2017-09-01 15:24:36 +08:00
|
|
|
|
2017-10-16 22:21:52 +08:00
|
|
|
@javascript
|
|
|
|
Scenario: Unsuccessful Password Change, password is too short
|
|
|
|
Given I'm on the profile page
|
|
|
|
Then I click on Edit on "settings_page.change_password" input field
|
|
|
|
And I fill in "mypassword1234" in Current password field
|
|
|
|
And I fill in "mypass" in New password field
|
|
|
|
And I fill in "mypass" in New password confirmation field
|
|
|
|
And I should see "is too short (minimum is 8 characters)"
|
2017-09-01 15:24:36 +08:00
|
|
|
|
2017-10-16 22:21:52 +08:00
|
|
|
@javascript
|
|
|
|
Scenario: Unsuccessful Password Change, passwords does not match
|
|
|
|
Given I'm on the profile page
|
|
|
|
Then I click on Edit on "settings_page.change_password" input field
|
|
|
|
And I fill in "mypassword1234" in Current password field
|
|
|
|
And I fill in "mypassword5678" in New password field
|
|
|
|
And I fill in "mypassword56788" in New password confirmation field
|
2017-10-24 19:49:33 +08:00
|
|
|
And I should see "doesn't match"
|
2017-09-01 15:24:36 +08:00
|
|
|
|
2017-10-16 22:21:52 +08:00
|
|
|
@javascript
|
2017-09-01 15:24:36 +08:00
|
|
|
Scenario: Unsuccessful Password Change, current password is invalid
|
2017-10-16 22:21:52 +08:00
|
|
|
Given I'm on the profile page
|
|
|
|
Then I click on Edit on "settings_page.change_password" input field
|
|
|
|
And I fill in "mypassword123" in Current password field
|
|
|
|
And I fill in "mypassword5678" in New password field
|
|
|
|
And I fill in "mypassword5678" in New password confirmation field
|
|
|
|
Then I click "Update" button
|
2017-10-23 23:45:57 +08:00
|
|
|
And I should see "incorrect password"
|
2017-09-01 15:24:36 +08:00
|
|
|
|
2017-10-16 22:21:52 +08:00
|
|
|
@javascript
|
2017-09-01 15:24:36 +08:00
|
|
|
Scenario: Successful Password Change
|
2017-10-16 22:21:52 +08:00
|
|
|
Given I'm on the profile page
|
|
|
|
Then I click on Edit on "settings_page.change_password" input field
|
|
|
|
And I fill in "mypassword1234" in Current password field
|
|
|
|
And I fill in "mypassword5678" in New password field
|
|
|
|
And I fill in "mypassword5678" in New password confirmation field
|
|
|
|
Then I click "Update" button
|
|
|
|
And I should see "Your account has been updated successfully" flash message
|