PySyft
PySyft copied to clipboard
PyGrid UI Authentication flow tests
Description
Testing of authentication flow. to be edited later (Thiago and Kyoko)
Type of Test
- [ ] End to end
Log in flow
Log out flow
Sign up flow
Description
Testing of authentication flow. to be edited later (Thiago and Kyoko)
Type of Test
- End to end
- Web API
Log In Flow
- [x] User lands on login landing page
- [x] User can see the current version of PyGrid being used
- [x] User can see the name of the domain they are logging into
- [x] User can see that the domain is online
- [x] If the domain is offline the user is given a message saying that that is the case ← @tcp this is something that slipped through the cracks in my own designs do we have anything like this now?
- [x] User is able to see text that states
Don’t have an account yet? Apply for an account here
- [x] User is redirected to the application page when Apply for an account link is clicked
Successful Login
- [x] User enters in [unique_email]
- [x] User enters in [valid_password]
- [x] User clicks "Login" button
- [x] User sees loading animation within the button (Active State)
- [x] User sees the "Success" state of the button
- [x] A new user is redirected to the Onboarding screen
- [x] A returning user is redirected to the "Data Requests" section page
Unsuccessful Login
- [x] User enters [duplicate_email] && [valid_password] ← @tcp @IonesioJunior is it possible for one user account to be logged in simultaneously from two different sources?
- [x] User enters [duplicate_email] && [invalid_password]
- [x] The password field enters into an "Error" state with text below stating "Incorrect password"
- [x] User enters [invalid_email]
- [x] An Alert component (multiLine, left, topAccent, error) appears at the top of the form with the text
"The email listed does not match any in our records. To create an account on this domain you can Apply for an account here"
- [x] User is redirected to the application page when Apply for an account link is clicked
Never designed out a "Forgot Password" flow. Need to do this in case user forgets and needs to reset
Apply for an Account without Agreement
- [x] User lands on domain application page
- [x] User is able to view [tags] of domain
- [x] User is able to view [description] of domain
- [x] User is able to view [number_of_datasets]
- [x] User is able to view [owner] && listed [owner_institution]
- [x] If no [owner_institution] then only display [owner]
- [x] User is able to view [joined_networks]
- [x] User is able to view [support_email]
- [x] If no [support_email] then hide divider and copy section
- [x] User is able to input text into form fields
Successful Application
- [x] User inputs [full_name]
- [x] User inputs [valid_email]
- [x] User inputs [valid_password] @IonesioJunior @tcp I feel like we should enforce a secure password, thoughts?
- [ ] User is able to show and hide characters of password field ← @tcp I missed this in the designs but would be an expected feature to have
- [ ] User is able to show and hide characters of confirm password field ← @tcp I missed this in the designs but would be an expected feature to have
- [x] User inputs exact same password in the [confirm_password] field
- [x] User clicks "Submit Application"
- [ ] User sees loading animation within the button (Active State)
- [ ] User sees the "Success" state of the button - [ ] User is redirected to a thank you page ← @tcp I missed this in the designs but would be an expectation so I need to create and determine message for it
Unsuccessful Application
- [ ] User inputs [invalid_email] example "abc.com"
- [ ] The email field enters into an "Error" state with text below stating "Invalid email"
- [ ] [password] !== [confirm_password], then the confirm password field enters into an "Error" state with text below stating "Passwords do not match."
- [ ] User tries to submit application and has not input valid text for [full_name], [email], [password], [confirm_password] - Missing field(s) go into error state. An Alert component (multiLine, left, topAccent, error) appears at the top of the form with the text
"Missing required fields: [list_missing_fields]"
- [ ] User inputs [invalid_profile] example "anything that is not a valid URL"
- [ ] "Profile" field enters into error state with text below saying
Invalid URL. Please provide a valid url of a web page or a social media profile to help others get to know you
- [ ] User inputs [duplicate_email] of account on the domain
- [ ] An Alert component (multiLine, left, topAccent, error) appears at the top of the form with the text
Seems like you already have an account on this domain with that email. You can Login to your account here
-[ ] Login to your account here is a link that takes you to the domain login page
Logout
- [ ] User is able to see "logout" link in the top left sidebar
- [ ] User clicks "logout" link
- [ ] User is redirected to the Domain Login Page
Domain Offline
- [ ] User sees red dot in bottom left sidebar with text "Connecting to domain"
- [ ] An Alert toaster appears at the top of the main content section (so not the sidebar) with text
Connecting to the domain... Saved changes pending until the domain is back online.
☝️ @IonesioJunior @tcp I'm not sure if the above can be done as it requires some kind of local session that is suspended 🤷 so if we cannot do that then let's do the below 👇
- [ ] User session ends
- [ ] User is redirected to an error page
- [ ] Error page states, if [support_email] is true
We're sorry this domain is currently offline. You can contact support at [support_email] to help resolve any issues.
- [ ] Error page states, if [support_email] is false
We're sorry this domain is currently offline. Check back in later to see it's status.
Accessibility
- [ ] A user is able to tab through the form fields
- [ ] Focus state appears when tabbing between form fields
- [ ] Required "*" asterixis are in the accent color
- [ ] "optional" tags are next to form labels
- [ ] Inline links are indicated by underlined style and correct 600 shade of their respective accent color
Hey @tcp this is where I got to today I will fill out throughout the rest of the week to include the log out and apply for an account stages. ^_^
@tcp @IonesioJunior have at commented you within the UX test for questions that are hanging/not resolved. @tcp as far as design items that I realized were never addressed I will add those to the backlog in shortcut of things to design and build out.
And with that this wraps up the first pass of the authentication UX tests. I tried to not include features we had not yet built for MVP hence no notification flows or anything like that.
is it possible for one user account to be logged in simultaneously from two different sources?
Not yet.
"The email listed does not match any in our records. To create an account on this domain you can Apply for an account here"
Let's not be so specific with this message -- it allows external people to know which emails are registered/are not registered in the service.
@tcp I missed this in the designs but would be an expectation so I need to create and determine message for it
OK @Kiaka007!
is it possible for one user account to be logged in simultaneously from two different sources?
Not yet.
"The email listed does not match any in our records. To create an account on this domain you can Apply for an account here"
Let's not be so specific with this message -- it allows external people to know which emails are registered/are not registered in the service.
Hmmm how about the one Shubham is using
Authentication Failed: Your email and password do not match. Please try again. Or register for an account at {URL}
@tcp