diff --git a/TestCases.tex b/TestCases.tex index d07b224..511b381 100644 --- a/TestCases.tex +++ b/TestCases.tex @@ -114,7 +114,8 @@ website's activities.} \item {The System shall display a registration form.} \item - {UserX shall fill in the form with email UserX@flashy.cards and password ``mynameisuserx''.} + {UserX shall fill in the form with email \mbox{UserX@flashy.cards} and password +\mbox{``mynameisuserx''}.} \item {The System shall successfully receive the correct credentials and send an email to the User's address with a link to validate the User's email address @@ -132,7 +133,7 @@ VERIFICATION EMAIL''.} \item {The System shall present UserX Login screen.} \item - {UserX shall once again login with ``UserX@flashy.cards'' and ``mynameisuserx''.} + {UserX shall once again login with \mbox{``UserX@flashy.cards''} and \mbox{``mynameisuserx''}.} \end{enumerate} \item [Expected Result:]{UserX shall see Add Class page without a toast asking @@ -167,8 +168,8 @@ device, or use the site after logging out.} \item[Preconditions:] \begin{itemize} \item - {The User has created an account before with email ``UserX@flashy.cards'' with -password ``mynameisuserx''.} + {The User has created an account before with email \mbox{``UserX@flashy.cards''} with +password \mbox{``mynameisuserx''}.} \end{itemize} \item[Postconditions:] @@ -184,7 +185,8 @@ password ``mynameisuserx''.} \begin{enumerate} \itemsep1pt\parskip0pt\parsep0pt \item - {UserX shall enter their email ``UserX@flashy.cards'' and password ``mynameisuserx''.} + {UserX shall enter their email \mbox{``UserX@flashy.cards''} and password +\mbox{``mynameisuserx''}.} \item {The System shall authenticate UserX's email and password and checks if UserX is active.} \item @@ -196,8 +198,8 @@ password ``mynameisuserx''.} \item [Alternate Workflow A:] \begin{enumerate} \item - {UserX accidentally puts in the credentials ``UserX@flashy.cards'', -``hahahaha'' and clicks the ``Login'' button.} + {UserX accidentally puts in the credentials \mbox{``UserX@flashy.cards''}, +\mbox{``hahahaha''} and clicks the ``Login'' button.} \item {The System shows UserX the site login page with a message reading ``Invalid username or password!!''.} @@ -209,8 +211,8 @@ password ``mynameisuserx''.} \item [Alternate Workflow B:] \begin{enumerate} \item - {UserX accidentally puts in the credentials ``NotUserX@flashy.cards'', -``mynameisuserx'' and clicks the ``Login'' button.} + {UserX accidentally puts in the credentials \mbox{``NotUserX@flashy.cards''}, +\mbox{``mynameisuserx''} and clicks the ``Login'' button.} \item {The System shows UserX the site login page with a message reading ``Invalid username or password!!''.} @@ -222,8 +224,8 @@ password ``mynameisuserx''.} \item [Alternate Workflow C:] \begin{enumerate} \item - {UserX accidentally puts in the credentials ``theflash@flashy.cards'', -``MyNameIsUserX'' and clicks the ``Login'' button.} + {UserX accidentally puts in the credentials \mbox{``theflash@flashy.cards''}, +\mbox{``MyNameIsUserX''} and clicks the ``Login'' button.} \item {The System shows UserX the site login page with a message reading ``Invalid username or password!!''.} @@ -430,10 +432,6 @@ shall be able to log in with the new password in the future.} \item[Dependency Use Cases:]{[A1] User Registration, [A2] User Login} \\ -\item[Details:]{The user provides their current password and a new password -in a form. If the current password is correct, the system updates their -password to the requested new password.} - \item[Priority Level:]{``Must''} \item[Status:]{Implemented} @@ -444,7 +442,7 @@ password to the requested new password.} \item {The User is logged in as UserX.} \item - {The User knows the current password (``oldPassword'').} + {The User knows the current password \mbox{``mynameisuserx''}.} \item {The User is at the Settings page.} \end{itemize} @@ -465,17 +463,51 @@ to change it.} \begin{enumerate} \itemsep1pt\parskip0pt\parsep0pt \item - {UserX shall enter their current password ``oldPassword'' and the desired -new password ``newPassword'' (twice) in the ``Change Password'' form.} + {UserX shall enter their current password \mbox{``mynameisuserx''} and the desired +new password \mbox{``newPassword''} (twice) in the ``Change Password'' form.} \item {UserX shall click the ``Submit'' button.} \item {The System shall check UserX's current password.} \item - {The System shall update the UserX's current password ``oldPassword'' to the new password ``newPassword''.} + {The System shall update the UserX's current password \mbox{``mynameisuserx''} +to the new password \mbox{``newPassword''}.} +\end{enumerate} + +\item[Expected Result:] {User's password is changed from \mbox{``mynameisuserx''} +to \mbox{``newPassword''}.} + +\item[Alternate Workflow A:] +\begin{enumerate} +\itemsep1pt\parskip0pt\parsep0pt +\item + {UserX shall enter an incorrect current password \mbox{``MyNameIsUserX''} and the desired +new password \mbox{``newPassword''} (twice) in the ``Change Password'' form.} +\item + {UserX shall click the ``Submit'' button.} +\item + {The System shall ensure validity of new password.} +\item + {The System shall check UserX's current password.} +\end{enumerate} + +\item[Expected Result:] {The System shall display a toast ``Your old password is not correct''.} + +\item[Workflow:] +\begin{enumerate} +\itemsep1pt\parskip0pt\parsep0pt +\item + {UserX shall enter their current password \mbox{``mynameisuserx''} and the desired +new password \mbox{``newPass''} (twice) in the ``Change Password'' form.} +\item + {UserX shall click the ``Submit'' button.} +\item + {The System shall ensure validity of new password.} \end{enumerate} -\item[Expected Result:] {User's password is changed from ``oldPasswrd'' to ``newPassword''.} +\item[Expected Result:] {The System shall display error text ``New password +must be at least 8 characters.''} + \end{description} \newpage @@ -484,28 +516,19 @@ new password ``newPassword'' (twice) in the ``Change Password'' form.} \subsection{[A6] Password Reset} \begin{description} -\item[Description:]{The User shall be able to reset their password without -being logged in } +\item[Description:]{This test case outlines the presentation step layering process of +a user requesting a password reset without logging in.} \item[Desired Outcome:]{The User's password shall be changed to one that -they remember} +they remember.} \\ \item[User Goals:]{The User does not know their current password but wants -to log into the site} +to log into the site.} \item[Dependency Use Cases:]{[A1] User Registration} \\ -\item[Details:]{The User provides their email in a password reset form. If -the address is valid, the site sends a password reset link with a random -token to that address. If the address is invalid, the site does not send -a link. For security reasons, we do not reveal to the user whether the -email address was valid, and we expire the link after 24 hours. When a -user visits the link emailed to them, they are able to specify a new -password in a form. When they submit the form, their password is updated -if the token is correct. } - \item[Priority Level:]{``Must''} \item[Status]{Implemented} @@ -526,10 +549,9 @@ if the token is correct. } {UserX can log in with the new password.} \end{itemize} -\item[Trigger]{UserX forgot their password and wants to access the site.} +\item[Trigger:]{UserX forgot their password and wants to access the site.} \item[Workflow:] - \begin{enumerate} \itemsep1pt\parskip0pt\parsep0pt \item @@ -537,7 +559,7 @@ if the token is correct. } \item {The System shall prompt the user for their current email.} \item - {UserX shall submit their email ``UserX@flashy.cards''.} + {UserX shall submit their email \mbox{``UserX@flashy.cards''}.} \item {The System shall check if an account exists with the email entered by UserX.} \item @@ -550,26 +572,27 @@ if the token is correct. } \item {The System shall render a form that will prompt the user for a new password.} \item - {UserX shall provide a new password, ``newPassword'', in the form.} + {UserX shall provide a new password, \mbox{``newPassword''}, in the form.} \item {The System shall change the password associated with the user's email.} \item - {UserX shall navigate back to the login page and enter ``UserX@flashy.cards'' -with the old password ``mynameisuserx''.} + {UserX shall navigate back to the login page and enter \mbox{``UserX@flashy.cards''} +with the old password \mbox{``mynameisuserx''}.} \item {The System shall display ``Invalid username or password!''} \item - {UserX shall login as ``UserX@flashy.cards'' with the password ``newPassword''.} + {UserX shall login as \mbox{``UserX@flashy.cards''} with the password \mbox{``newPassword''}.} \end{enumerate} -\item[Expected Result:] {The login shall succeed.} +\item[Expected Result:] {UserX shall be logged in.} \item[Alternate Workflow:] \begin{enumerate} \setcounter{enumi}{4} \itemsep1pt\parskip0pt\parsep0pt \item - {If no such account exists, the System shall display a modal display ``Cannot find account.'' to UserX.} + {If no such account exists, the System shall display an error message +``Enter a valid email!'' to UserX.} \end{enumerate} \item[Expected Result:] {UserX's password will not be reset.} @@ -595,7 +618,7 @@ else.} \item[Priority Level:]{``Should''} -\item[Status:]{Implemented} +\item[Status:]{Deferred (see Add a Class)} \item[Preconditions:] \begin{itemize} @@ -645,14 +668,14 @@ limit access to his class.} \subsection{[A8] User Logout} \begin{description} -\item[Description:]{The User shall be able to log out of his/her account on -the site.} +\item[Description:]{This test case outlines the presentation layering step process +of a user logging out from their account.} \item[Desired Outcome:]{The User's information and data will no longer be accessible after logging out. } -\item[User Goals:]{The User is done with his/her session of using the -website, and wants to make sure others cannot access the data in his/her +\item[User Goals:]{The User is done with their session of using the +website, and wants to make sure others cannot access the data in their account.} \item[Dependency Use Cases:] {[A1] User Registration, [A2] User Login} @@ -662,25 +685,35 @@ account.} \item[Status:]{Implemented} -\item[Preconditions:]{The user is logged into their account.} +\item[Preconditions:] +\begin{itemize} +\itemsep1pt\parskip0pt\parsep0pt +\item +{The user is logged in as UserX.} +\end{itemize} -\item[Postconditions:]{The user's data can no longer be accessed.} +\item[Postconditions:] +\begin{itemize} +\itemsep1pt\parskip0pt\parsep0pt +\item +{The user's data can no longer be accessed.} +\end{itemize} -\item[Trigger:] +\item[Trigger:] {UserX does not currently want access to the site and does +not want others tampering with their account.} \item[Workflow:] - \begin{enumerate} \itemsep1pt\parskip0pt\parsep0pt \item - {UserX shall click the ``Logout'' button.} + {UserX shall click ``Logout'' (power button) in the top right.} \item - {The System shall logs out UserX.} + {The System shall log out UserX.} \item {The System shall redirect UserX to the login page.} \end{enumerate} -\item[Expected Result:] {User is logged out and is redirected to the login page.} +\item[Expected Result:] {UserX is logged out and on the login page.} \end{description} \newpage @@ -761,7 +794,7 @@ inconvenient times.} \begin{enumerate} \itemsep1pt\parskip0pt\parsep0pt \item - {UserX shall select ``Settings'' button from the top header.} + {UserX shall select ``Settings'' (gear) from the top right.} \item {The System shall display a settings screen.} \item @@ -807,7 +840,7 @@ flashcard will be shared with others.} \item {The User is logged as UserX.} \item -{The User is logged in a different browser session as UserY.} +{The User is logged in a different browser session as UserY (see Testing Notes).} \item {UserX and UserY have added the class TEST 101.} \item @@ -883,7 +916,7 @@ top right to indicate UserX as the author of the flashcard. The new flashcard will show up on UserY's live feed on class TEST 101 without checkmark and pencil icon.} -\item[Alternative Workflow:] +\item[Alternate Workflow:] \begin{enumerate} \setcounter{enumi}{2} \itemsep1pt\parskip0pt\parsep0pt @@ -895,7 +928,7 @@ without checkmark and pencil icon.} \item[Expected Result:] {Blank flashcard will not be added to UserX's deck or to the live feed of TEST 101.} -\item[Alternative Workflow:] +\item[Alternate Workflow:] \begin{enumerate} \setcounter{enumi}{2} \itemsep1pt\parskip0pt\parsep0pt @@ -968,7 +1001,7 @@ Login, [A3] Add a Class, [F1] Push Flashcard, [F3] Pull Flashcard} \item {UserX shall be able to change the text to ``Edit has been made''.} \item - {UserX shall click 'Save'} + {UserX shall click ``Save Changes''.} \item {The System shall hide the modal from UserX.} \end{enumerate} @@ -976,7 +1009,6 @@ Login, [A3] Add a Class, [F1] Push Flashcard, [F3] Pull Flashcard} \item[Expected Results:]{The selected flashcard's text shall be changed to ``Edit has been made''.} \item[Alternative Workflow A:] - \begin{enumerate} \itemsep1pt\parskip0pt\parsep0pt \item @@ -988,7 +1020,7 @@ Login, [A3] Add a Class, [F1] Push Flashcard, [F3] Pull Flashcard} \item {UserX shall be able to change the bolded text from ``edit2'' to ``fun'' by highlighting the words and click blank words.} \item - {UserX shall click 'Save'} + {UserX shall click ``Save Changes''.} \item {The System shall hide the modal from UserX.} \item