Sprint 1 Test Driven Development - Fatima-Essa/Wits-Social-SDP GitHub Wiki

Sprint 1 User Acceptance Criteria

User Stories User Acceptance Criteria
1. As a user with no pre-existing account, I should be able to click the “Create Account” hyperlink which will direct me to the registration page so that I may register and create an account. Given that an un-registered user is on the login page, when the user clicks the “Register” hyperlink they should be able to navigate to the login page, then they may use the app and register.
2. As a user I should be able to register on the app by entering their username, email, password, and confirming said password and finally clicking the register button. This allows, me as a user, to have a personal account on the app. Given that a new user goes to the register page and when they register they enters a username, email password and confirms said password and clicks on the register button, then the user should be successfully registered and able to log in with their chosen credentials
3. As a user, with a preexisting account, I should be able to log into the app by entering my email and password correctly and clicking the “Log in” button so that I may be directed to the home page where I can access the full functionality of the app. Given that a registered user is logged out, when they go to the log in page and enter their email and password and click the “Log in” button, then the data associated to the user should be accessible and the user should be taken to the home page.
4. An authenticated user I should be able reset my password if I have forgotten so that I can create a new password and subsequently use it for my new login. Given that a registered user has forgotten their password when they click forgot password and enter their email address, an email should the be sent to them to reset their account password which they can then user to login in with.
5. As an authenticated user I should be able to use the navigation bar once logged in so that I may access the different features and relevant pages that the app provides. Given that a registered user has logged into the app, when the user is successfully logged in, then the user should be able to access the navigation bar so that they may make full use of the functionalities and switching between relevant pages.
6. As an authenticated logged in user I should be able to upload a post consisting of an image and caption to my account so other users may view(and interact with) and so that it is visible on my account page. Given an authenticated logged in user, when the user attempts to upload a post consisting of an image and caption it should then be stores and displayed under said post.
7. As authenticated, logged in user I should be able to logout of my account via my account page so that I am no longer logged into the application. Given that a logged in user is on their account page and wishes to logout, when the user logs out then they should be redirected to the login page.