PySyft icon indicating copy to clipboard operation
PySyft copied to clipboard

PyGrid UI Account Setting flow

Open Kiaka007 opened this issue 3 years ago • 2 comments

Description

Testing user experience parameters for adjusting account settings in PyGrid UI.

Type of Test

  • [ ] UX test checking to make sure the UI accommodates the intended userflow
  • [ ] Web API

Adjust Personal Account Settings

Assumed that the user has completed the Login Flow and the Onboarding Flow

  • [ ] User clicks [full_name] account button in the bottom of the left sidebar
  • [ ] User lands on Settings > Account

Edit Profile Settings

  • [ ] User is able to see Profile fields of
  • [ ] [full_name], [email], [institution], [profile]
  • [ ] [full_name] is prefilled with current full name
  • [ ] [email] is prefilled with current email
  • [ ] [institution] is prefilled with current institution
  • [ ] [institution] is blank if no institution on file
  • [ ] [profile] is prefilled with current profile
  • [ ] [profile] is blank if no profile URL on file
  • [ ] "Save" button is in disabled state if no fields have been edited
  • [ ] "Cancel" button is in disabled state if no fields have been edited

Successful Changes

  • [ ] User enters any or all of the following:
  • [ ] User enters [full_name]
  • [ ] User enters [valid_email]
  • [ ] User enters [institution]
  • [ ] User enters [valid_profile_url]
  • [ ] "Save Changes" changes to neutral state
  • [ ] "Cancel" changes to neutral state
  • [ ] User clicks "Save Changes"
  • [ ] User sees loading animation within the button (Active State)
  • [ ] User sees the "Success" state of the "Save Changes" button
  • [ ] "Cancel" button changes to disabled state
  • [ ] User clicks into a profile form field
  • [ ] "Save Changes" changes from success state to neutral state
  • [ ] "Cancel" button changes from disabled state to neutral state
  • [ ] User refreshes page
  • [ ] User is able to see profile fields of [full_name], [email], [institution], [profile] with updated information
  • [ ] "Save" button is in disabled state if no fields have been edited
  • [ ] "Cancel" button is in disabled state if no fields have been edited

Cancel Making Changes Via Button

  • [ ] User enters any or all of the following:
  • [ ] User enters [full_name]
  • [ ] User enters [valid_email]
  • [ ] User enters [institution]
  • [ ] User enters [valid_profile_url]
  • [ ] "Save Changes" changes to neutral state
  • [ ] "Cancel" changes to neutral state
  • [ ] User clicks "Cancel"
  • [ ] [full_name] reverts to last saved value
  • [ ] [email] reverts to last saved value
  • [ ] [institution] reverts to last saved value
  • [ ] [profile] reverts to last saved value
  • [ ] "Save" button changes to disabled state
  • [ ] "Cancel" button changes to disabled state

Cancel Making Changes Via Clicking Off Page

  • [ ] User enters any or all of the following:
  • [ ] User enters [full_name]
  • [ ] User enters [valid_email]
  • [ ] User enters [institution]
  • [ ] User enters [valid_profile_url]
  • [ ] "Save Changes" changes to neutral state
  • [ ] "Cancel" changes to neutral state
  • [ ] User clicks "Users" (or any other section in the UI)
  • [ ] "Capital" component appears that says

Warning Icon Are you sure you want to leave without making changes? All changes you have made will be discarded. To continue without saving changes please click "Continue without Saving" below. To save your changes please click "Cancel" and then save your changes.

  • [ ] User clicks button on capital that says "Continue without Saving"
  • [ ] User is redirected to the "Users" section

Invalid Changes

  • [ ] User enters [duplicate_email]
  • [ ] User clicks "Save Changes"
  • [ ] User sees loading animation within the button (Active State)
  • [ ] "Save Changes" changes to neutral state
  • [ ] "Cancel" changes to neutral state
  • [ ] Email field changes to error state
  • [ ] An Alert component (multiLine, left, topAccent, error) appears below "info component" with text:

Seems like an account with that email already exists on this domain. Try a different email or consolidate accounts.

  • [ ] User enters [invalid_email]
  • [ ] User clicks "Save Changes"
  • [ ] User sees loading animation within the button (Active State)
  • [ ] "Save Changes" changes to neutral state
  • [ ] "Cancel" changes to neutral state
  • [ ] Email field enters error state with text below saying

Invalid email. Make sure your email is in an [email protected] format

  • [ ] User enters invalid URL type for [profile]
  • [ ] User clicks "Save Changes"
  • [ ] User sees loading animation within the button (Active State)
  • [ ] "Save Changes" changes to neutral state
  • [ ] "Cancel" changes to neutral state
  • [ ] "Profile" field enters error state with text below saying

Invalid URL.

Change Password

  • [ ] See blank "Current Password" field
  • [ ] See blank "New Password" field
  • [ ] See instructions on how to create a secure password ← @tcp this needs to be defined
  • [ ] Button group is in disabled state

Successfully Change Password

  • [ ] Enter [valid_current_password]
  • [ ] Be able to unhide password field
  • [ ] Be able to hide password field
  • [ ] Enter [valid_new_password]
  • [ ] Be able to unhide password field
  • [ ] Be able to hide password field
  • [ ] Button group changes from disabled state to neutral state
  • [ ] User clicks "Change Password"
  • [ ] "Change Password" changes to active state (loading animation)
  • [ ] "Change Password" changes to success state
  • [ ] "Cancel" button changes to disabled state
  • [ ] "Current Password" field changes back to being blank
  • [ ] "New Password" field changes back to being blank
  • [ ] User clicks into "Current Password" field and begins to type
  • [ ] Button group changes to neutral state

Cancel Change Via Button

  • [ ] Enter [valid_current_password]
  • [ ] Enter [valid_new_password]
  • [ ] Button group changes from disabled state to neutral state
  • [ ] User clicks "Cancel" button
  • [ ] "Current Password" field changes back to being blank
  • [ ] "New Password" field changes back to being blank
  • [ ] Button group changes to disabled state

Cancel Change Via Leaving Page

  • [ ] Enter [valid_current_password]
  • [ ] Enter [valid_new_password]
  • [ ] Button group changes from disabled state to neutral state
  • [ ] User clicks "Users" (i.e. a new section of the UI)
  • [ ] "Capital" component appears that says

Warning Icon Are you sure you want to leave without making changes? All changes you have made will be discarded. To continue without saving changes please click "Continue without Saving" below. To save your changes please click "Cancel" and then save your changes.

  • [ ] User clicks button on capital that says "Continue without Saving"
  • [ ] User is redirected to the "Users" section

Invalid Changes

  • [ ] Enter [invalid_current_password] && [valid_new_password]
  • [ ] Button group changes from disabled state to neutral state
  • [ ] User clicks "Change Password" button
  • [ ] "Change Password" button enters active loading state
  • [ ] Button group changes to disabled state
  • [ ] "Current Password" field changes to error state with text below:

Sorry the password entered does not match our records. ← we should think through security and authentication measures in future iterations

  • [ ] Enter [valid_current_password] && [invalid_new_password]
  • [ ] Button group changes from disabled state to neutral state
  • [ ] User clicks "Change Password" button
  • [ ] "Change Password" button enters active loading state
  • [ ] Button group changes to disabled state
  • [ ] "New Password" field changes to error state with text below:

Missing [whatever security password items it failed to pass for example: needs special characters]

  • [ ] Enter [invalid_current_password] && [invalid_new_password]
  • [ ] Combine both processes above ☝️

Delete Account as a Domain Owner

  • [ ] User is able to see instructions under "Delete Account" - [ ] User is able to click to transfer ownership documentation via "Link" ←This is in the backlog to write
  • [ ] User clicks "Delete Node"
  • [ ] Capital appears that states

Warning Icon Are You Sure You Want to Delete Your Account? Because you are the domain owner, the domain node along with all uploaded datasets, user accounts, and requests will be deleted. All network memberships will also be removed. If you would like to keep this domain node but no longer want to be an owner press “cancel” and follow the instructions here to transfer ownership of your domain node.

Cancel Deletion

  • [ ] User clicks Cancel > directs to Account setting page

Confirms Deletion

  • [ ] User clicks "Delete Node"
  • [ ] "Delete Node" button enters active load state
  • [ ] New capital appears that states

Check Mark Icon Your Account Has Been Deleted To help us improve future experiences could you share with us any frustrations or suggestions you have with or for the PyGridUI Platform?

Provides Feedback

  • [ ] User enters frustration text area field
  • [ ] User enters suggestions text area field
  • [ ] User clicks "Submit Response"
  • [ ] "Submit Response" button enters active load state - [ ] Feedback is sent to a database for Openmined team to review ← @tcp @IonesioJunior original gameplan was to be able to insert these types of actions to catch feedback. If we can't do that then this test ends with a modal that says "Your Account has been deleted" and redirects user to the domain account application page
  • [ ] User is redirected to the domain account application page

Skips Feedback

  • [ ] user clicks "Skip" in the "Your Account has been deleted" capital
  • [ ] User is redirected to the domain account application page

Kiaka007 avatar Feb 09 '22 20:02 Kiaka007

@tcp wrote a new UX test for account settings ^_^

Kiaka007 avatar Feb 09 '22 20:02 Kiaka007

  • Can use Sentry for feedback items (like delete node)
  • When skipping or submitting feedback when redirected to the application page we can have an info or alert component that confirms that their account has been deleted.

Kiaka007 avatar Feb 11 '22 21:02 Kiaka007