My account settings

BDD file with acceptance criteria for viewing and updating my account settings.
Feature: As a user I want to update my account settings

Scenario: Updating personal information
 Given  I am viewing my personal setting page
 Then  I will be able to edit my information
 And  change my password
 And  update my avatar

Scenario: Updating name
 Given  I have successfully updated my name
 Then  I will see visual feedback this has updated

Scenario: Submitting empty name value
 Given  I have submitted an empty value for my name
 Then  I will see an message that explains the error

Scenario: Updating email
 Given  I have updated my email
 Then  I will see my email update

Scenario: Submitting invalid email value
 Given  I have submitted an invalid value for my email
 Then  I will see an message that explains the error

Scenario: Updating password fields
 Given  I successfully update my password
 Then  my new password will save against my account

Scenario: Updating password with current password error
 Given  I provide the wrong current password
 When  I save my changes
 Then  I will see an error message

Scenario: Updating password with new password error
 Given  my current password is the same as my new password
 When  I save my changes
 Then  I will see an error message

Scenario Outline: Updating profile picture
 Given  I have <profileImageSetting>
 Then  I will be able to <action>

Examples:
| profileImageSetting | action |
| no image set | add image |
| an image already set | delete |
| an image already set | update |

Scenario: Incorrect file type
 Given  I am updating my profile picture
 Then  I will only be able to add image files

Scenario: New profile image upload fails
 Given  my image fails to upload
 Then  I should see visual feedback explaining there was an issue

Scenario Outline: Updating account notification settings
 Given  I notification status is <notificationStatus>
 And  I change it
 Then  it will update to <notificationStatusUpdate>

Examples:
| notificationStatus | notificationStatusUpdate |
| Notification on | Notification off |
| Notification off | Notification on |

Scenario: Account deletion
 Given  I want to delete my account
 Then  I will be shown an account delete confirmation modal

Scenario Outline: Delete confirmation
 Given  I confirm I want to delete my account
 Then  my account will delete
 And  I will be logged out