Testing - runer112/wassall-zachary-databasedev GitHub Wiki

1. Manage user-user relationship

  1. Log in as alice.
  2. Click on "Profile" in the navbar.
  3. Copy the URL of alice's profile (this is not intended as a networking site, so profiles links are private and need to be manually shared).
  4. Click on "Logout" in the navbar.
  5. Log in as dan.
  6. Navigate to the copied URL of alice's profile.
  7. Verify that a "Friend" button exists in the top-right.
  8. Click on the "Friend" button in the top-right.
  9. Click on "Profile" in the navbar to go to dan's profile.
  10. Copy the URL of dan's profile.
  11. Click on "Logout" in the navbar.
  12. Log in as alice.
  13. Navigate to copied the URL of dan's profile.
  14. Click on the "Friend" button in the top-right.
  15. Verify that alice appears in dan's list of friends.
  16. Click on "alice" or "Profile" in the navbar to return to alice's profile.
  17. Verify that dan appears in alice's list of friends.
  18. Click on "dan" in alice's list of friends.
  19. Verify that the "Friend" button now says "Unfriend".
  20. Click on the "Unfriend" button in the top-right.
  21. Click on "Profile" in the navbar.
  22. Verify that dan is no longer a friend of alice's.

2. Domain object search

  1. Log in as any user (or no user).
  2. Click on "Stops" in the navbar.
  3. Type part of a stop name (ex. "rug", "street") and press "enter" or click the search button.
  4. Verify that matching stop names are populated (and sorted alphabetically).

3. Domain object detail

  1. Log in as any user (or no user).
  2. Click on "Stops" in the navbar.
  3. Type part of a stop name (ex. "rug", "street").
  4. Select a stop from the search results.
  5. Select a route.
  6. Verify that the detail page includes: stop name, route name and direction, a map of the stop location, and predicted future departure times.

4. View domain-user relationships

  1. Log in as alice.
  2. Verify that favorite route/stop predicted departure times (for Ruggles and North Station on the Orange Line) appear on the home page.
  3. Click on "Profile" in the navbar.
  4. Verify that the same favorite route/stop predicted departure times appear on alice's profile page.
  5. Click on alice's friend "bob".
  6. Verify that different favorite route/stop predicted departure times appear on bob's profile page.

5. View user-user relationships

  1. Log in as alice.
  2. Click on "Profile" in the navbar.
  3. Verify that alice is friends with bob and charlie.
  4. Click on alice's friend "bob".
  5. Verify that bob is friends with only alice.

6. Manage domain-user relationship

  1. Log in as alice.
  2. Click on "Routes" in the navbar.
  3. Select a route.
  4. Select a stop.
  5. Click on the "Favorite" button in the top-right to create a favorite.
  6. Go to the home page ("ProximiT" in the navbar) and verify that the favorite has been added.
  7. Click on the stop/route name of the added favorite to return to the stop info page.
  8. Click on the "Unfavorite" button in the rop-right to delete the favorite.
  9. Go to the home page ("ProximiT" in the navbar) and verify that the favorite has been deleted.

7a. View domain-domain relationships

  1. Log in as alice.
  2. Click on "Routes" in the navbar.
  3. Select "Orange Line (Northbound)".
  4. Verify that route alerts appear under the header.
  5. Verify that all stops on that route are listed (and in the correct order; Forest Hills should be first, Oak Grove should be list).

7b. Manage domain-domain relationship (as official)

  1. Log in as bob (not alice!).
  2. Click on "Routes" in the navbar.
  3. Select a route.
  4. At the bottom of the page, enter an alert message.
  5. Click on the "Create" button.
  6. Verify that the route alert appears under the header with the relative time posted (should initially say "a few seconds ago").
  7. Click on "Routes" in the navbar.
  8. Select a different route (different line, not just direction) from the route selected in step 3.
  9. Verify that the route alert does not appear.
  10. Click on "Routes" in the navbar.
  11. Select the route selected in step 3.
  12. Verify that the created alert has persisted.
  13. Click the "x" on the right of the created alert to delete it.
  14. Refresh the page.
  15. Verify that the created alert has been deleted.

8. Create user

There is no admin-specific method for this. An admin simply registers a new user like anyone else.

  1. If logged in, click on "Logout" in the navbar.
  2. Click on "Register" in the navbar.
  3. Enter a username, password, and password verification.
  4. Click on the "Register" button.
  5. Verify that you are now logged in; the navbar should have "Profile" and "Logout" links.
  6. Click on "Profile" in the navbar and verify that it shows the created account's profile.

9. List users (as admin)

  1. Log in as admin.
  2. Click on "Admin > Users" in the navbar.
  3. Verify that the list of users appears.

10. Update user (as admin)

Please only test this with a user you have created. The existing users have been set up for other tests.

  1. Log in as admin.
  2. Click on "Admin > Users" in the navbar.
  3. Select a user (besides admin).
  4. Verify that the user detail fields are editable.
  5. Make some changes.
  6. Click on the "Save" button.
  7. Refresh the page.
  8. Verify that the changes have persisted.

11. Delete user (as admin)

Please only test this with a user you have created. The existing users have been set up for other tests.

  1. Log in as admin.
  2. Click on "Admin > Users" in the navbar.
  3. Either click the "x" to the right of a user's name, or click on the user and then the "Delete" button to delete a user.
  4. Click on "Logout" in the navbar.
  5. Click on "Login" in the navbar.
  6. Attempt to log in with the deleted user's credentials.
  7. Verify that the deleted user's credentials no longer work.