Child User Story ID | Acceptance Criteria | Created by | Verified By | Tested By | Result | Note |
---|---|---|---|---|---|---|
1 | Upon opening the app, a form is displayed requesting user inputs for Email and Password as well as a submission button with its purpose clearly labeled. | Julian | Chad | Chad | Pass | |
Upon pressing the 'Sign In' button, the email address is validated to include a '.' and an '@'. If not valid, user is alerted. | Julian | Chad | Chad | Pass | ||
Upon pressing the 'Sign In' button, the password is validated to include at least 6 characters. If not valid, user is alerted. | Julian | Chad | Chad | Pass | ||
Upon pressing the 'Sign in' button, if the email provided is not included in Firebase Authentication list, user is alerted of a 'Sign-In Error' and sign-in does not proceed. | Julian | Chad | Chad | Pass | ||
Upon pressing the 'Sign In' button, if the password provided is not correct for the validated email, the user is alerted of a 'Sign-In Error" and sign-in does not proceed. | Julian | Chad | Chad | Pass | ||
Upon pressing the 'Sign In' button with the correct email and password provided, the app should change to the home screen. | Julian | Chad | Chad | Pass | ||
2 | Upon opening the app, a button labeled 'Create New Account' should appear intuitively for the user to create a new account. | Julian | Chad | Chad | Pass | |
Upon pressing the 'Create New Account' button, the app should navigate to the Create New Account page. | Julian | Chad | Chad | Pass | ||
Within the 'Create New Account' page, upon pressing the 'Create Account' button, the email address is validated to include a '.' and an '@'. If not valid, user is alerted. | Julian | Chad | Chad | Pass | ||
Within the 'Create New Account' page, upon pressing the 'Create Account' button, the password is validated to include at least 6 characters. If not valid, user is alerted. | Julian | Chad | Chad | Pass | ||
Within the 'Create New Account' page, upon pressing the 'Create Account' button, the confirmation password is validated to include at least 6 characters. If not valid, user is alerted. | Julian | Chad | Chad | Pass | ||
Within the 'Create New Account' page, upon pressing the 'Create Account' button, the email is checked against other user accounts to prevent two accounts with the same email. The user is notified if email is already used. The account creation process does not proceed. | Julian | Chad | Chad | Pass | ||
Within the 'Create New Account' page, upon pressing the 'Create Account' button, the password and confirmation password are checked if matching. The user is notified if they do not match. The account creation process does not proceed. | Julian | Chad | Chad | Pass | ||
Within the 'Create New Account' page, upon pressing the 'Create Account' button with valid email, password, and confirmation password input, the new account is created, the user is notified of account creation, and the app navigates back to the 'Sign In' screen to log in with their new credentials. | Julian | Chad | Chad | Pass | ||
Upon successful creation of the new account, a default username is assigned to the new user and the username and email are displayed in the hamburger menu of the homescreen. | Julian | Chad | Chad | Pass | ||
3 | Within the homescreen hamburger menu, there should be a menu button labeled 'User Settings' that is intuitive for the user to change their user settings. | Julian | Chad | Chad | Pass | |
Upon pressing the 'User Settings' menu button in the hamburger menu in the homescreen, the app should navigate to the 'User Settings' screen. | Julian | Chad | Chad | Pass | ||
Upon navigating to the 'User Settings' screen, the current username should be prefilled in the Username textfield. | Julian | Chad | Chad | Pass | ||
Upon pressing the 'Save Changes' button, the username should be validated to include between 1-16 characters. If not valid, the user is alerted. | Julian | Chad | Chad | Pass | ||
Upon pressing the 'Save Changes' button, the email should be validated to include a '.' and an '@'. If not valid, the user is alerted. | Julian | Chad | Chad | Pass | ||
Upon pressing the 'Save Changes' button with a valid username and email, the user is notified of the completed change and is logged out to enact the changes. | Julian | Chad | Chad | Pass | ||
Upon successfully changing the username and/or email, the change should be reflected in the hamburger menu of the home screen as well as in the User Settings screen. | Julian | Chad | Chad | Pass | ||
4 | Within the homescreen hamburger menu, there should be a menu button labeled 'User Settings' that is intuitive for the user to change their user settings. | Julian | Chad | Chad | Pass | |
Upon pressing the 'User Settings' menu button in the hamburger menu in the homescreen, the app should navigate to the 'User Settings' screen. | Julian | Chad | Chad | Pass | ||
Upon navigating to the 'User Settings' screen, there should be two text-fields for the user to input a new password and a confirmation password. | Julian | Chad | Chad | Pass | ||
Upon pressing the 'Reset Password' button, the password and confirmation password should be validated to include at least 6 characters. If not valid, the user is alerted. | Julian | Chad | Chad | Pass | ||
Upon pressing the 'Reset Password' button, the password and confirmation password should be validated to be matching. If not valid, the user is alerted. | Julian | Chad | Chad | Pass | ||
Upon pressing the 'Reset Password' button with a valid password and confirmation password, the user is notified of the completed change and is logged out to enact the changes. | Julian | Chad | Chad | Pass | ||
5 | After having signed into the app, the user should not be able to use their phone's 'back' button to log out of the app. | Julian | Chad | Chad | Pass | |
After having signed into the app, there should be a 'Sign Out' menu button in the hamburger menu of the home screen. | Julian | Chad | Chad | Pass | ||
After having signed into the app and having pressed the 'Sign Out' menu button, the app navigates back to the Sign In screen and the user is notified of a successful log out. | Julian | Chad | Chad | Pass | ||
6 | Within the 'User Settings' screen, the 'Delete User Account' button should be purposefully placed to require scrolling down to access, as well as a note of caution to prevent accidental deletion of the user account. | Julian | Chad | Chad | Pass | |
Upon pressing the 'Delete User Account' button, the account is permanently deleted from Firebase Authentication and the user is logged out with a notification of account deletion. | Julian | Chad | Chad | Pass | ||
8 | Upon entering the Inventory page, the table rows are alternating shades of gray for easier reading. | Sonny | Julian | Julian | Pass | |
Upon entering the Inventory page, the rows fit the screen without overflowing the screen horizontally. | Sonny | Julian | Julian | Pass | ||
In the Inventory page, the screen scrolls vertically and does not overflow on the bottom of the screen. | Sonny | Julian | Julian | Pass | ||
9 | The deck icon shows up for card with inDeck = true. | Sonny | Julian | Julian | Pass | |
The deck icon is absent for cards with inDeck = false. | Sonny | Julian | Julian | Pass | ||
The deck icon is removed or added based on the update on the deck screen. | Sonny | Julian | Julian | Pass | ||
10 | The accurate number is displayed next to the applicable card. | Sonny | Julian | Julian | Pass | |
Multiple digit number counts do not overflow the screen. | Sonny | Julian | Julian | Pass | ||
11 | Upon signing in, the app navigates to the Home Screen and a text field and a button appear to search for a card | Chad | Julian | Julian | Pass | |
Upon pressing the 'Search' button on a valid query the user is sent to a new page were the card image can be seen | Chad | Julian | Julian | Pass | ||
Upon pressing the 'Search' button a GET request is sent to the Scryfall API | Chad | Julian | Julian | Pass | ||
Upon pressing the 'Search' button on an invalid query the user is sent to a new page where they are informed of the invalid query | Chad | Julian | Julian | Pass | ||
12 | Upon pressing the 'Search' button on a valid query the user is sent to a new page were the response information is visible | Chad | Julian | Julian | Pass | |
After being navigated to the 'Showing Results For...' page the user can see the card image that they were looking for. | Chad | Julian | Julian | Pass | ||
After being navigated to the 'Showing Results For...' page the user can see a back arrow | Chad | Julian | Julian | Pass | ||
After being navigated to the 'Showing Results For...' page the user can press the back arrow to get back to the 'Search For A Card!' page | Chad | Julian | Julian | Pass | ||
13 | After being navigated to the 'Showing Results For...' page the user see various prices below the card image. | Chad | Julian | Julian | Pass | |
After being navigated to the 'Showing Results For...' page each price has a different currency | Chad | Julian | Julian | Pass | ||
After being navigated to the 'Showing Results For...' page each price has a different finish | Chad | Julian | Julian | Pass | ||
14 | When the user taps on a price, a web browser opens. | Chad | Julian | Julian | Pass | |
When a browser window opens, it opens to the corresponding card and price | Chad | Julian | Julian | Pass | ||
When in the opened browser window, the user has full operations of the website | Chad | Julian | Julian | Pass | ||
The user can close the webbrowser window by the phone's natural back button | Chad | Julian | Julian | Pass | ||
15 | When the user is navigated to the 'Showing Results For...' page, the user can see prices provided by Scryfall | Chad | Julian | Julian | Fail | Pushed to Sprint2 |
When the user is navigated to the 'Showing Results For...' page user can see prices from sources such as TCGplayer, CardMarket, and CardHoarder | Chad | Julian | Julian | Fail | Pushed to Sprint2 | |
When the user is navigated to the 'Showing Results For...' page user can not see finishes that do not have a price | Chad | Julian | Julian | Pass | ||
16 | When the user searches with a complete and perfect name, they are directed to the correct card | Chad | Julian | Julian | Pass | |
When the user searches with an incomplete but close name, they are directed to the correct card | Chad | Julian | Julian | Pass | ||
When the user searches with an incomplete and nowhere close name, they are told that the query doesnt exist or is too vague | Chad | Julian | Julian | Pass | ||
17 | Once the user is on the results page, they can see a list of prices for the card in question | Chad | Julian | Julian | Pass | |
Once the user is on the results page, they can see that prices are grouped by currency | Chad | Julian | Julian | Pass | ||
18 | Upon logging into home, a 'My Wishlist' button should be display on screen. | Giovanni | Julian | Julian | Pass | |
After clicking the Wishlist button, the user should be navigated to the Wishlist page. | Giovanni | Julian | Julian | Pass | ||
19 | After navigating to Wishlist, the user can view card images. | Giovanni | Julian | Julian | Pass | |
After navigating to Wishlist, the user can view dummy price information and name. | Giovanni | Julian | Julian | Pass | ||
On the Wishlist, icons for incrementing quantity are displayed. | Giovanni | Julian | Julian | Pass | ||
All totals on the Wishlist are displayed, via hardcoded demo information. | Giovanni | Julian | Julian | Pass | ||
There is a visible title above the page stating what screen the user is on. | Giovanni | Julian | Julian | Pass | ||
20 | The checkout button should display a text that labels 'CHECKOUT'. | Giovanni | Julian | Julian | Pass | |
On the Wishlist, there should be a checkout button shown. | Giovanni | Julian | Julian | Pass | ||
21 | On the Wishlist, there should be a back button shown. | Giovanni | Julian | Julian | Pass | |
Upon pressing the back button, the app should navigate back to the home screen | Giovanni | Julian | Julian | Pass | ||
22 | Upon logging into home, an 'Purchase History' button should be display on screen. | Giovanni | Julian | Julian | Pass | |
After clicking the Order History button, the user should be navigated to the Purchase History page. | Giovanni | Julian | Julian | Pass | ||
23 | On the Order History, there should be a back button shown. | Giovanni | Julian | Julian | Pass | |
Upon clicking, the back button should navigate back to the home screen. | Giovanni | Julian | Julian | Pass | ||
24 | There should be a title that says 'Order Details' upon navigating to Order History. | Giovanni | Julian | Julian | Pass | |
Order History should display a number of information categories for a product (blank values for now). | Giovanni | Julian | Julian | Pass | ||
25 | the accurate number in the deck is displayed when page is first opened | Sonny | Julian | Julian | Pass | |
the number updates as the minus and add arrows are pressed | Sonny | Julian | Julian | Pass | ||
26 | The text button toggles between showing all cards and just deck cards when clicked | Sonny | Julian | Julian | Pass | |
the text button's text correctly toggles and displays what view the user is currently in | Sonny | Julian | Julian | Pass | ||
when a card is added to the deck that was not previously in it, it displays on the "deck only" screen | Sonny | Julian | Julian | Pass | ||
when a card is completely removed from the deck, it no long shows up on the "deck only" screen | Sonny | Julian | Julian | Pass | ||
27 | cards horizontally scroll and does not overflow on the left/right sides | Sonny | Julian | Julian | Pass | |
the toggle button and the average card cost do not scroll | Sonny | Julian | Julian | Pass | ||
the control box under the card remains centered under each card | Sonny | Julian | Julian | Pass | ||
28 | pressing the red arrow decreases the number of cards in the deck by one | Sonny | Julian | Julian | Pass | |
the button is deactivated when the count is zero | Sonny | Julian | Julian | Pass | ||
the button causes the total number of cards in the deck to decrement | Sonny | Julian | Julian | Pass | ||
29 | pressing the green arrow increases the number of cards in the deck by one | Sonny | Julian | Julian | Pass | |
the button is deactivated when the count in the deck is equal to the number own | Sonny | Julian | Julian | Pass | ||
the button causes the total number of cards in the deck to increment | Sonny | Julian | Julian | Pass | ||
30 | The number updates and accurately reflects the number in the deck | Sonny | Julian | Julian | Pass | |
backing out and going back in keeps the number of each card in the deck recorded | Sonny | Julian | Julian | Pass | ||
31 | The number cannot go below zero | Sonny | Julian | Julian | Pass | |
the number cannot go above the number of cards in the deck | Sonny | Julian | Julian | Pass | ||
32 | the average displayed is correct for the number of cards in the deck | Sonny | Julian | Julian | Pass | |
cards not in the deck are not in the calcuated into the average card cost | Sonny | Julian | Julian | Pass | ||
the average updates when a card is removed from the deck | Sonny | Julian | Julian | Pass | ||
the average updates when a card is added to the deck | Sonny | Julian | Julian | Pass | ||
the average remains accurate when backing out and going back into the deck screen | Sonny | Julian | Julian | Pass | ||
33 | A community button in present on the home screen. | Chris | Julian | Julian | Pass | |
Tapping the community button opens the forum. | Chris | Julian | Julian | Pass | ||
34 | From the forum screen, an add floating action button is present | Chris | Julian | Julian | Pass | |
Pressing the add floating action button opens a screen witha form to submit a new forum thread | Chris | Julian | Julian | Pass | ||
There is a check mark that can be tapped to submit forum threads | Chris | Julian | Julian | Pass | ||
When forum threads are submitted, the app navigates back to the forum with the new thread displayed. | Julian | Julian | Julian | Fail | pushed to sprint 2 | |
When forum threads are submitted, the local thread is converted into a Firestore document and saved to Firebase | Chris | Julian | Julian | Pass | ||
35 | When the forum screen loads, data should be pulled from firebase and converted into the thread data structure. | Chris | Julian | Julian | Pass | |
Threads should be displayed as list items in the forum | Chris | Julian | Julian | Pass | ||
Threads should have a title | Chris | Julian | Julian | Pass | ||
Threads should have a displayed author | Chris | Julian | Julian | Pass | ||
Threads should display an initial post date | Chris | Julian | Julian | Pass | ||
Threads should display a last-updated date | Chris | Julian | Julian | Pass | ||
36 | Threads should be opened for viewing and replying when tapped on from the forum screen. | Chris | Julian | Julian | Fail | From Chris: These acceptance criteria have been pushed to Sprint 2. |
All posts of a thread should be usable inside of the individual thread view. | Chris | Julian | Julian | Fail | From Chris: These acceptance criteria have been pushed to Sprint 2. | |
Replies to posts can be posted from the individual thread view. | Chris | Julian | Julian | Fail | From Chris: These acceptance criteria have been pushed to Sprint 2. |
Child User Story ID | Acceptance Criteria | Created by | Verified By | Tested By | Result | Note |
---|---|---|---|---|---|---|
1 | Upon having searched for a specific card, the "Add to Inventory" button shows up at the bottom of the results page after scrolling down. | Sonny | Julian | Julian | Pass | |
The "Add to Inventory" button navigates back to the home screen when clicked if previous screen was the home screen. | Sonny | Julian | Julian | Pass | ||
The "Add to Inventory" button navigates back to the inventory screen when clicked if previous screen was the inventory screen | Sonny | Julian | Julian | Fail | From Sonny - recent check did not work - red-screened | |
The magic card that was displayed on the results screen when the "Add to Inventory" button was clicked will show up on the inventory screen | Sonny | Julian | Julian | Pass | ||
The magic card that was displayed on the results screen when the "Add to Inventory" button was clicked will show up on the deck screen when the option "show all cards" is selected | Sonny | Julian | Julian | Pass | ||
The Magic card that was added to the inventory is not added to the deck (the card does not show up on the deck screen when only showing deck cards | Sonny | Julian | Julian | Pass | ||
Searching and adding an already owned card will not add a separate card with that name in either the inventory screen or the deck screen. | Sonny | Julian | Julian | Pass | ||
Searching and adding an already owned card will increase that card's inventory count by 1 | Sonny | Julian | Julian | Pass | ||
Adding an already owned card to the inventory (increasing its quantity by 1) will not increase that card's quantity used within the deck (ie. The quantity of that card included in the deck will stay the same despite the overall quantity increasing within the inventory). | Sonny | Julian | Julian | Pass | ||
An added card will display the accurate color of the card's color ID on its circular icon on the inventory screen | Sonny | Julian | Julian | Pass | ||
An added card accuratley displays card name on the Inventory screen. | Sonny | Julian | Julian | Pass | ||
The added card's converted mana cost (CMC) accurately displays as an integer on the Inventory screen. | Sonny | Julian | Julian | Fail | Showed up as a double (but the number was correct) | |
In the Inventory screen, the added card's power and toughness (A/D) displays if the card is a "creature" type | Sonny | Julian | Julian | Pass | ||
Once a card is added to inventory, then added to a deck, the icon for "in deck" will show up on the inventory screen as a black box with an outline on the outer four corners. | Sonny | Julian | Julian | Pass | ||
In the Inventory screen, the added card's power and toughness (A/D) does not display the string "null" for non creatures cards (the values display as blanks) | Sonny | Julian | Julian | Pass | ||
2 | In the Inventory screen, clicking the icon next to the card opens a dropdown details view if a detailed view is not showing | Sonny | Julian | Julian | Pass | |
In the Inventory screen, the details view displays the card name, a minus button, number of copies of the card, and an add button | Sonny | Julian | Julian | Pass | ||
In the Inventory screen, clicking the icon next to the card closes a dropdown details view if the detailed view is showing | Sonny | Julian | Julian | Pass | ||
In the Inventory screen, clicking any of the cards' icons opens only the applicable card's dropdown (the other cards' detailed view stay closed) | Sonny | Julian | Julian | Pass | ||
3 | In the Inventory screen, within a card's detailed view display, clicking the plus sign in the details view of a card add 1 to the card count | Sonny | Julian | Julian | Pass | |
In the Inventory screen, within a card's detailed view display, clicking the plus sign in the details view of a card does not affect the count of the other cards not selected | Sonny | Julian | Julian | Pass | ||
In the Inventory screen, after increasing the number of cards with the plus sign, backing out to the home screen and going into the inventory still shows the updated number owned | Sonny | Julian | Julian | Pass | ||
4 | In the Inventory screen, within a card's detailed view display, clicking the minus sign in the details view of a card subtracts 1 to the card count | Sonny | Julian | Julian | Pass | |
In the Inventory screen, within a card's detailed view display, clicking the minus sign in the details view of a card does not affect the count of the other cards not selected | Sonny | Julian | Julian | Pass | ||
In the Inventory screen, within a card's detailed view display, after decreasing the number of cards with the minus sign, backing out to the home screen and going into the inventory still shows the updated number owned | Sonny | Julian | Julian | Pass | ||
In the Inventory screen, within a card's detailed view display, if a card owned number is decreased to zero, it is immediately removed from the inventory screen | Sonny | Julian | Julian | Pass | ||
In the Deck screen, a removed card (removed from Inventory screen) no longer shows up in the "show all cards" screen setting. | Sonny | Julian | Julian | Pass | ||
5 | In the Inventory screen, the number of cards owned displayed in the detailed view of the card changes as the plus and minus buttons are pressed | Sonny | Julian | Julian | Pass | |
In the Inventory screen, when changing a second card's detailed view after increasing or decreasing a first card, the number owned for the second card accurately displays the second card's count | Sonny | Julian | Julian | Pass | ||
6 | In the Inventory screen, clicking the floating action button displays a popup allowing you to type a search term | Sonny | Julian | Julian | Pass | |
In the Inventory screen, within the floating action button popup, clicking the 'search' button navigates to the search results screen. | Sonny | Julian | Julian | Fail | -red screen error | |
In the Inventory screen, within the floating action button popup, after clicking the 'search' button, an applicable magic card is searched based on the typed search term | Sonny | Julian | Julian | Fail | -red screen error | |
7 | Upon navigating to the "Showing Results For..." page, the user can see a hamburger menu at the top right | Chad | Julian | Julian | Pass | |
Upon tapping on the hamburger menu in the "Showing Results For...' page, the user can see a list of checkmark boxes with the names of the filters beside them | Chad | Julian | Julian | Pass | ||
8 | In the "Showing Results For..." page, when the user opens the hamburger menu, they are able to find the specific checkmark box in correlation to the price in the list | Chad | Julian | Julian | Pass | |
In the "Showing Results For..." page, when the user opens the hamburger menu, upon tapping the checked checkmark box, the box unchecks. | Chad | Julian | Julian | Pass | ||
In the "Showing Results For..." page, when the user opens the hamburger menu, upon unchecking the checkmark box, the price disappears from the list under the card image | Chad | Julian | Julian | Pass | ||
9 | Upon navigating to the "Showing Results For..." page, the user can only see the prices that have a value | Chad | Julian | Julian | Pass | |
In the "Showing Results For..." page, upon opening the hamburger menu, the user can only see checkmark boxes of prices that are available | Chad | Julian | Julian | Pass | ||
In the "Showing Results For..." page, upon adding or removing prices in the hamburger menu, the user can see that the quanitity of checkmark boxes remains the same. | Chad | Julian | Julian | Pass | ||
10 | In the "Showing Results For..." page, when the user opens the hamburger menu, they are able to find the specific checkmark box in correlation to the price in the list (Same action as child stor id 8 criteria 1) | Chad | Julian | Julian | Pass | |
In the "Showing Results For..." page, when the user opens the hamburger menu, upon tapping the unchecked checkmark box, the box checks. | Chad | Julian | Julian | Pass | ||
In the "Showing Results For..." page, when the user opens the hamburger menu, upon checking the checkmark box, the price is added to the list under the card image | Chad | Julian | Julian | Pass | ||
11 | After searching for a card and navigating to the "Showing Results For..." page, a shopping cart icon is shown to the right of each listed currency price. | Giovanni | Julian | Julian | Pass | |
In the "Showing Results For..." page, after clicking the shopping cart icon, the user is redirected to the wishlist page. | Giovanni | Julian | Julian | Fail | icon has no functionality | |
12 | Within the Wish List screen, upon clicking the checkout button, the user is navigated to the order confirmation page. | Giovanni | Julian | Julian | Pass | |
On the order confirmation page, the user can see a message saying that their purchase was successful. | Giovanni | Julian | Julian | Pass | ||
13 | On the confirmation page, two navigation buttons are displayed, one return to Home page and one to navigate to Purchase History page. | Giovanni | Julian | Julian | Pass | |
When the user clicks the Home button, it returns them to the Home screen. | Giovanni | Julian | Julian | Pass | ||
When the user clicks the Purchase History button, it navigates them to Purchase History. | Giovanni | Julian | Julian | Pass | ||
14 | Upon entering Wishlist screen, the user can see a floating action button with a search icon under the Checkout button. | Giovanni | Julian | Julian | Pass | |
In the wishlist screen, upon clicking the search icon, the user sees a pop up prompting card search. | Giovanni | Julian | Julian | Fail | -'bottom overflowed by 165 pixels' error | |
In the wishlist screen, after clicking the search icon, upon searching for a card, the app navigates to the "Showing Results For..." page with the card's pricing information listed. | Julian | Julian | Julian | Fail | -red screen error | |
15 | Upon creating a new user account, the user account should not have a default profile picture. | Julian | Chad | Chad | Pass | |
Within the user settings screen, there should be an option for users to choose a profile picture. | Julian | Chad | Chad | Pass | ||
Within the user settings screen, upon choosing a profile picture, a notification should pop up notifying the user that the selected picture is only for preview until the 'Save Changes' button is pressed. | Julian | Chad | Chad | Pass | ||
Within the user settings screen, upon having chosen a new profile picture and having pressed the 'Save Changes' button, the user should be logged out. | Julian | Chad | Chad | Pass | ||
Upon logging back in after choosing/saving a new profile picture, the picture choice should persist on various pages where it is displayed, such as User Settings screen or Card Hunter Home screen. | Julian | Chad | Chad | Pass | ||
16 | Within the user settings screen, there should be an option for users to update their profile picture. | Julian | Chad | Chad | Pass | |
Within the user settings screen, upon choosing a profile picture, a notification should pop up notifying the user that the selected picture is only for preview until the 'Save Changes' button is pressed. | Julian | Chad | Chad | Pass | ||
Within the user settings screen, upon having chosen a new profile picture and having pressed the 'Save Changes' button, the user should be logged out. | Julian | Chad | Chad | Pass | ||
Upon logging back in after choosing/saving a new profile picture, the picture choice should persist on various pages where it is displayed, such as User Settings screen or Card Hunter Home screen. | Julian | Chad | Chad | Pass | ||
17 | Upon having chosen a profile picture, that picture should display in User Settings screen. | Julian | Chad | Chad | Pass | |
Upon having chosen a profile picture, that picture should display in Card Hunter Home screen. | Julian | Chad | Chad | Pass | ||
Upon having chosen a profile picture, that picture should display in Community Home screen. | Julian | Chad | Chad | Pass | ||
Upon having chosen a profile picture, that picture should display in Test Deck screen. | Julian | Chad | Chad | Pass | ||
Upon having chosen a profile picture, that picture should display in Wish List screen. | Julian | Chad | Chad | Pass | ||
Upon having chosen a profile picture, that picture should display in Inventory screen. | Julian | Chad | Chad | Pass | ||
Upon having chosen a profile picture, that picture should display in Purchase History screen. | Julian | Chad | Chad | Pass | ||
Upon having chosen a profile picture, that picture should display in the hamburger menu of the Card Hunter Home screen. | Julian | Chad | Chad | Pass | ||
Upon having chosen a profile picture, that picture should display in Forum screen. | Julian | Chad | Chad | Pass | ||
Upon having chosen a profile picture, that picture should display in Viewing Thread screen. | Julian | Chad | Chad | Pass | ||
Upon having chosen a profile picture, that picture should display in Order Confirmation screen. | Julian | Chad | Chad | Pass | ||
18 | When on the forum screen, tapping on one of the threads opens a new screen to view the thread. | Chris | Julian | Julian | Pass | |
In the thread view screen, there are separate display panels for every post in the threads. | Chris | Julian | Julian | Pass | ||
19 | On the thread view screen, there is a text box to enter post content. | Chris | Julian | Julian | Pass | |
On the thread view screen, there is a button called "Make Post" to submit a new post to a thread. | Chris | Julian | Julian | Pass | ||
When the submit button is pressed, the post is added to the thread in Firestore. | Chris | Julian | Julian | Pass | ||
If submission is successful, the thread screen is closed and the user is returned to the forum home screen. | Chris | Julian | Julian | Pass | ||
20 | In the thread view screen, for every post, there is a time stamp. | Chris | Julian | Julian | Pass | |
In the Firestore Database, there is a timestamp in the same format for every post. | Chris | Julian | Julian | Pass |
Child User Story ID | Acceptance Criteria | Created by | Verified By | Tested By | Result | Note |
---|---|---|---|---|---|---|
1 | Upon seeing the queried results and clicking the shopping cart icon, the object should be added to my pre existing collection. | Giovanni | Chad | Chad | Pass | Varified by cross referencing firebase |
Upon navigating to the wishlist page, I should see the card that was added display in my wishlist. | Giovanni | Chad | Chad | Pass | Cards are only visible after the user has exited the Results screen and Wish List screen. The user must renavigate to the Wish List screen to see the changes | |
2 | Upon logging in and out, I should see the wishlist collection that was saved by the email of that user. | Giovanni | Chad | Chad | Pass | Varified by cross referencing firebase |
When navigating between pages, the same wishlist collection for that user should still be displayed. | Giovanni | Chad | Chad | Pass | ||
3 | When navigating to wishlist, a list should be populated on the wishlist page. | Giovanni | Chad | Chad | Pass | wish list is visible |
The information on the wishlist page should display name, number owned, and have a section for price. | Giovanni | Chad | Chad | Fail | Item Name shows up, but Quantity is not updated in firebase if multiple copies are added and prices do not show up | |
4 | Upon clicking the checkout button, the information in the collection should be passed to the Purchase History page. | Giovanni | Chad | Chad | Pass | Information that was in Wish List is visible in Purchase History. Varified by cross referencing Wish List |
Purchase History class should have accessed to the collection that was in the wishlist. | Giovanni | Chad | Chad | Pass | Varified by cross referencing firebase | |
5 | Purchase History should populate a list of the items in the collection. | Giovanni | Chad | Chad | Pass | Very similar to lines 101 and 102 |
Purchase History should have descriptors above the list. | Giovanni | Chad | Chad | Fail | There are no indicators to show what the columns mean on Purchase History | |
6 | On login to app, the user can see a toggle to the right of the 'search' button under the textbox. | Chad | Julian | Julian | Pass | Toggle is present, maybe add text for purpose of the toggle (not intuitive) |
On tapping the toggle, the direction of the toggle changes. | Chad | Julian | Julian | Pass | Toggle direction changes when tapped. | |
When tapping the toggle, if the label says 'Search for a card:', then the label changes from 'Search for a card:' to 'Search for a set:' | Chad | Julian | Julian | Pass | The lable changes when tapping the toggle. | |
When tapping the toggle, if the label says 'Search for a set:', then the label changes from 'Search for a set:' to 'Search for a card:' | Chad | Julian | Julian | Pass | The lable changes when tapping the toggle. | |
7 | On login to the app, the user can see a search bar with a toggle underneath (same action as first criteria on child user story 7) | Chad | Julian | Julian | Pass | Toggle is present, maybe add text for purpose of the toggle (not intuitive) |
Upon tapping the toggle to 'card' mode as displayed by the label above the search bar, the user can enter a name in the search bar | Chad | Julian | Julian | Pass | The user can enter a name in the search bar regardless of toggle position. | |
Upon pressing the 'search' button, the user is redirected to a new screen that shows the card image and card prices | Chad | Julian | Julian | Pass | Card search function works. | |
11 | clicking "add to inventory" button adds the MagicCard object to firebase | Sonny | Chad | Chad | Pass | Card was added to user-card collection |
If a MagicCard object of the same name already exists for the logged in user, instead the count of the existing card is increased by 1 | Sonny | Chad | Chad | Pass | numowned was increased from 1 to 2 | |
If a MagicCard object of the same name exists for a different user, a new MagicCard object is created and the formally mentioned MagicCard's count is not affected | Sonny | Chad | Chad | Pass | A new document was created for the user-card collection for the same card under a different user. Count for previous card was not affected | |
The inventory screen will only show Magic Card's that belong to the user who is logged in (MagicCard where username is the user's email address) | Sonny | Chad | Chad | Pass | Each user only has cards in their inventory that they added. Varified by crossreferencing firebase | |
12 | When viewing the details dropdown section of a selected card, the color matches the Magic Card's Color Identity | Sonny | Chad | Chad | Pass | For each card added to inventory, the color of dropdown matches card color |
The text on the multi-color and white colored Magic Cards is black and legible | Sonny | Chad | Chad | Pass | Text in dropdown for white and multicolord cards added is black | |
the text on the Black, Blue, Red, Green and non-colored cards is white and legible | Sonny | Chad | Chad | Pass | Text in dropdown for Black, Blue, Red, Green and non-colored cards added is white | |
14 | In the details dropdown of a Magic Card, pressing the left minus decreases the numOwned variable by 1 if the original numOwned > 1 in firebase | Sonny | Chad | Chad | Pass | card quantity was reduced by 1 |
In the details dropdown of a Magic Card, pressing the left minus completely deletes the MagicCard object from Firebase if the original numOwned = 1 | Sonny | Chad | Chad | Pass | card was deleted | |
In the details dropdown of a Magic Card, the left arrow is inactive if the numOwned and numDeck are equal | Sonny | Chad | Chad | Pass | ||
In the details dropdown of a Magic Card, pressing the right plus increases the numOwned variable by 1 in firebase | Sonny | Chad | Chad | Pass | varified by cross referencing firebase | |
15 | When viewing only cards in a deck on the deck screen, a dropdown appears at the top to pick an existing deck to display | Sonny | Chad | Chad | Pass | test deck found |
selecting a deck from the dropdown at the top of the screen will cause only the Magic Cards in that deck to show on screen | Sonny | Chad | Chad | Pass | Only the cards in the deck showed up | |
When a specific deck is showing, then the deck is switched in the drop down, the 1st deck's card disappear and the 2nd deck's cards are shown | Sonny | Chad | Chad | Pass | the initial deck was replaced by the selected deck | |
When a specific deck is showing, then the screen view is switched to all inventory cards showing, the user's whole Magic Card inventory shows up | Sonny | Chad | Chad | Pass | all the account's cards displayed | |
16 | When a Magic Card is not assigned to a deck, a dropdown is visible under the Magic Card image with a list of decks | Sonny | Chad | Chad | Pass | the dropdown is visible and populated with decks |
When a Deck name is selected from a Magic Card's dropdown list, that Magic Card's inDeck variable is updated with the selected deck name in firebase | Sonny | Chad | Chad | Pass | varified by cross referencing firebase | |
When a Deck name is selected from a Magic Card's dropdown list, that Magic Card's numDeck variable is updated to 1 in firebase | Sonny | Chad | Chad | Pass | varified by cross referencing firebase | |
The inventory screen shows the "in deck" icon when the firebase MagicCard object's inDeck !='' | Sonny | Chad | Chad | Pass | icon is present in inventory when the card is in a deck | |
Magic Card's that are already in a deck do not have the deck name dropdown showing | Sonny | Chad | Chad | Pass | dropdown under card is not visible | |
17 | For any card currently in a deck other than a Basic Land Card, the numDeck variable of 4 or above will causes the right add arrow to de-activate | Sonny | Chad | Chad | Pass | right arrow disappeared when the count exceeded 3 leaving a total of 4 |
For any cards other than a Basic Land Card that has a count of 4 in the numDeck variable, the right add arrow re-activates if numDeck goes below 4 again | Sonny | Chad | Chad | Pass | The right arrow reactivated when I decremented the card's quantity to 3 | |
The right add arrow does not de-activate when the Magic Card's numDeck variable goes to 4 if the Magic Card is a Basic Land Card | Sonny | Chad | Chad | Pass | The arrow did not deactivate when I incremented swamp's quantity past 4 | |
18 | selecting a deck from the dropdown at the top of the screen will cause only the Magic Cards in that deck to show on screen | Sonny | Chad | Chad | Pass | Only the cards in the deck showed up |
typing a string into the create deck textfield and clicking the "create" buttion will save a deck object in firebase | Sonny | Chad | Chad | Pass | varified by dropdown | |
after saving a new deck object, its name will appear in the dropdown menu for selecting a deck to view at the top of the screen | Sonny | Chad | Chad | Pass | varified by dropdown | |
19 | A textbox under the Magic Card image will display the name of the deck the card is in | Sonny | Chad | Chad | Pass | name is visible |
A textbox under the Magic Card image will not display if the card is not currenty in a deck | Sonny | Chad | Chad | Pass | quanitity has been reduced to zero and name has disappeared | |
A textbox under the Magic Card image will display if the number of the that Magic Card in a deck is > 0 | Sonny | Chad | Chad | Pass | deck name is visible | |
A textbox under the Magic Card image will not display if the number of the that Magic Card in a deck is = 0 | Sonny | Chad | Chad | Pass | deck name is not visible when quantity is reduced to zero | |
20 | When the left remove button is pressed, the numDeck variable of the Magic Card is decreased by 1 in firebase | Sonny | Chad | Chad | Pass | varified by cross referencing firebase |
When the left remove button is pressed, the inDeck variable of the Magic Card is changed to '' in firebase if the original numDeck value =1 | Sonny | Chad | Chad | Pass | varified by cross referencing firebase | |
When the right add button is pressed, the numDeck variable of the Magic Card is increased by 1 in firebase | Sonny | Chad | Chad | Pass | the numDeck variable of the Magic Card is increased by 1 in firebase if the right arrow is pressed | |
Both the right add button and left remove button are disabled if a Magic Card's inDeck variable = '' AND a deck name has not been selected from the dropdown under the Magic Card image | Sonny | Chad | Chad | Pass | varified by cross referencing firebase | |
21 | When logged in as 'admin@test.com', in the hamburger menu icon, the drawer should include a 'Administrative Settings' option. | Julian | Chad | Chad | Pass | Administrative Settings option is present |
When logged in as 'super@test.com', in the hamburger menu icon, the drawer should include a 'Administrative Settings' option. | Julian | Chad | Chad | Pass | Administrative Settings option is present | |
When logged in as any user other than 'admin@test.com' or 'super@test.com', in the hamburger menu icon, the drawer should not include a 'Administrative Settings' option. | Julian | Chad | Chad | Pass | Administrative Settings option is not present | |
When logged in with either 'admin@test.com' or 'super@test.com' and having pressed the 'Administrative Settings' option in the hamburger icon menu drawer, the app should navigate to the 'Admin Settings' page. | Julian | Chad | Chad | Pass | I am navigated to the Admin Settings page for both Super and Admin accounts | |
Upon navigating to the 'Admin Settings' page, all users should be listed including their username and email. | Julian | Chad | Chad | Pass | All users are present in Admin Settings menu including Super and Admin Accounts | |
Upon clicking on any of the listed users in the 'Admin Settings' page, the app should navigate to the 'Admin Access - User Settings' page. | Julian | Chad | Chad | Pass | By clicking on any user, the Admin or Super account can view the Admin Access - User Settings screen | |
Upon navigating to the 'Admin Access - User Settings' page, the selected user's information, including profile picture, username, and email, should be prefilled in their respective textfields. | Julian | Chad | Chad | Pass | The user's information is present in each respective field | |
Upon navigating to the 'Admin Access - User Settings' page, three buttons should be available: a round button with '...' by the profile picture to update the picture, a 'Save Changes' button to save the edited information, and a 'Delete User Account' button to delete that user's account from the app. | Julian | Chad | Chad | Pass | All three buttons are present on Admin Access - User Settings | |
22 | Upon clicking on any of the listed users in the 'Admin Settings' page and navigating to their respective 'Admin Access - User Settings' page, that user's username should be prefilled in the Username textfield. | Julian | Chad | Chad | Pass | The username is present in the 'Username' field |
Upon changing the username in the textfield and pressing the 'Save Changes' button, the app should navigate back to 'Card Hunter Home' page and a pop-up message should appear stating, "The user's account information has been updated". | Julian | Chad | Chad | Pass | chad useraccount's Username has been successfully changed to chadNameChange | |
Upon returning to the 'Admin Settings' Page post username update, the user's new username should display above their respective email. | Julian | Chad | Chad | Pass | chadNameChange has been updated and is visible | |
After the Admin changes the user's username, upon logging into the app under that user, their new username should display in the hamburger menu drawer, the 'User Settings' page, and anywhere in the forum where their username is displayed. | Julian | Chad | Chad | Pass | Upon loggin in as chad@test.com, the Username is updated | |
23 | Upon clicking on any of the listed users in the 'Admin Settings' page and navigating to their respective 'Admin Access - User Settings' page, that user's email should be prefilled in the Email textfield. | Julian | Chad | Chad | Pass | The email is present in the 'Email' field |
Upon changing the email in the textfield and pressing the 'Save Changes' button, the app should navigate back to 'Card Hunter Home' page and a pop-up message should appear stating, "The user's account information has been updated". | Julian | Chad | Chad | Pass | I am navigated back to the Home Screen after changing the email of a new account. I am also greeted with a message telling the user of the change. | |
Upon saving the new email, the account information should be updated in the Firebase Authentication page. | Julian | Chad | Chad | Fail | When I changed the email of chadNameChange from chad@test.com to chademailchange@test.com, I checked firebase and the email did not change. When I went to login to the account, I was unable to login with the changed email. When I logged in with the old email, I recieved the error I posted. After that, I am unable to login under either chad@test.com or chademailchange@test.com. The change made is still visible in the app when looked upon from admin account, | |
Upon returning to the 'Admin Settings' Page post email update, the user's new email should display below their respective username. | Julian | Chad | Chad | Pass | The new email is displayed under the user name | |
After the Admin changes the user's email, upon logging into the app under that user, their new email should display in the hamburger menu drawer, the 'User Settings' page, and anywhere where their email is displayed. | Julian | Chad | Chad | Pass | This doesn't change the Authentication's version of the user email so you can't log in using the new email. Pushed to sprint 4. | |
24 | Upon clicking on any of the listed users in the 'Admin Settings' page and navigating to their respective 'Admin Access - User Settings' page, that user's profile picture should be displayed. | Julian | Chad | Chad | Pass | The user's profile picture is visible upon entering Admin Access - User Settings screen |
Upon changing the profile picture and pressing the 'Save Changes' button, the app should navigate back to 'Card Hunter Home' page and a pop-up message should appear stating, "The user's account information has been updated". | Julian | Chad | Chad | Pass | I was able to change sicks2@gmail.com's profile picture | |
Upon returning to the 'Admin Settings' Page post profile picture update, the user's new profile picture should be displayed. | Julian | Chad | Chad | Pass | sicks2@gmail.com's glorious new profile picture is displayed this Admin Access - User Settings screen | |
After the Admin changes the user's profile picture, upon logging into the app under that user, their new profile picture should display in the hamburger menu drawer, the 'User Settings' page, and anywhere where their profile picture is displayed. | Julian | Chad | Chad | Pass | I was able to use the camera to change the profile of user3@test.com and subsequently login to user3@test.com's account to view the change | |
25 | Upon clicking on any of the listed users in the 'Admin Settings' page and navigating to their respective 'Admin Access - User Settings' page, a clearly marked, red 'Delete User Account' button should be displayed. | Julian | Chad | Chad | Pass | The big red delete button is visible for all users including admin users. |
Upon clicking the red "Delete User Account' button, the app should navigate back to 'Card Hunter Home' page and a pop-up message should appear stating, 'The user's account has been deleted.'. | Julian | Chad | Chad | Pass | The button navigated me back to the home screen and prompted me of the account in questions' deletion | |
Upon returning to the 'Admin Settings' page post user account deletion, that user's listing should not appear. | Julian | Chad | Chad | Pass | The two deleted accounts chadNameChange and user3 do not appear in the list. It should be noted that they do not disappear from firebase | |
After the user's account deletion, upon reading any threads, replies, or direct messages, their username should appear as 'userHasBeenDeleted'. | Julian | Chad | Chad | Pass | The user chadchad is no longer visible and has instead been replaced by userHasBeenDeleted | |
After the user's account deletion, that user should not be able to log back in under the most recent email/password credentials. | Julian | Chad | Chad | Fail | This doesn't change the Authentication's version of the user account, so you can still log in. Pushed to sprint 4. | |
26 | When accessing the community forum, the display name for users should appear by threads they have created. | Chris | Chad | Chad | Pass | I can see the user who created the thread next to the 'Posted by:' indicator |
When accessing threads on the community forum, the display name for users should appear by posts that they have made. | Chris | Chad | Chad | Pass | I can see the user name at the top left of the posts in the selected thread | |
If a user changes their display name, their new display name should show in both the forum and the forum threads. | Chris | Chad | Chad | Pass | user1's updated name 'user11' is visible in both forum and forum threads | |
On Firebase, the docId from the users collection in firestore that corresponds with the given user should be stored in forum threads as authors for both threads and posts | Chris | Chad | Chad | Pass | Varified by cross referencing firebase | |
27 | When viewing a particular forum thread, tapping on the name of any user next to their post opens a direct message screen | Chris | Chad | Chad | Pass | I am navigated to direct messaging when tapping on user's name |
The direct message screen must have a text field to write a direct message | Chris | Chad | Chad | Pass | When tapping on a username, a textfield is always present for direct messaging, including for the user themselves | |
28 | Messages from the active user should appear on the direct message screen. | Chris | Chad | Chad | Pass | Messages from both parties appear in the thread |
Messages from the selected user should appear on the direct message screen. | Chris | Chad | Chad | Pass | Messages from both parties appear in the thread | |
29 | When the submit button is pressed, the active user's written post should be cleared from the text box | Chris | Chad | Chad | Pass | The text is cleared from the text box |
When the submit button is pressed, the active user's written post should appear in the chat log of the direct message view screen. | Chris | Chad | Chad | Pass | I can see the chain of messages between the two users | |
When the submit button is pressed, the direct messages between the two users should be updated on Firebase. | Chris | Chad | Chad | Pass | Varifed by cross referencing firebase | |
30 | On the community page, a button for the direct message inbox should be present | Chris | Chad | Chad | Fail | This story has been pushed to Sprint 4 |
Pressing the button opens the direct message inbox | Chris | Chad | Chad | Fail | This story has been pushed to Sprint 4 |
Child User Story ID | Acceptance Criteria | Created by | Verified By | Tested By | Result | Note |
---|---|---|---|---|---|---|
1 | The text field for deleting a deck appears under the "create a deck" field and is labeled appropriately | Sonny | Chad | Chad | Pass | I can indeed see the text field that is correlated with the "Delete a deck" label |
typing the incorrect deck name will trigger an error underneath the text field. | Sonny | Chad | Chad | Fail | The alert dialogue still appears with an actual deck name even if the deck that was searched for doesnt exist. | |
typing an existing deck name and pressing the delete button will trigger an alert dialog box. | Sonny | Chad | Chad | Fail | see above note | |
2 | The alert dialog displays the deck name that is about to be deleted | Sonny | Chad | Chad | Fail | The alert dialogue does appear with the deck name that was entered if it was entered correctly. If the user enters garbage text into the delete field for the first time, then the alert will ask if the deck "null" wanted to be deleted. Otherwise the same behavior is noticed as seen on line 4 of criteria |
The alert dialog displays a cancel button that will pop back to the previous screen without any change to the deck status | Sonny | Chad | Chad | Pass | I can cancel out of the transaction with no effect on the decks stored | |
The alert dialog displays a delete button that will pop back to the previous screen, triggering the delete process | Sonny | Chad | Chad | Pass | If the name of the deck is correct then the deck will delete. | |
3 | the deleted deck is removed from the drop down selection of decks to view | Sonny | Chad | Chad | Pass | I am unable to see any deleted deck on any dropdown |
the deleted deck is removed from the drop down selection under each card | Sonny | Chad | Chad | Pass | I am unable to see any deleted deck on any dropdown | |
the deleted deck is removed from firebase | Sonny | Chad | Chad | Pass | Deck has been purged from firebase | |
deleting a deck this is currently being viewed on the deck screen will cause the deck screen to revert back to "show all cards" view | Sonny | Chad | Chad | Pass | When the selected deck was deleted, view was changed to "show all cards" | |
4 | Each Magic Card that belonged to a deck that was deleted will update in firebase so the numDeck variable equals 0 | Sonny | Chad | Chad | Pass | varified by crossreferenceing firebase |
Each Magic Card that belonged to a deck that was deleted will update in firebase so the inDeck variable equals an empty string | Sonny | Chad | Chad | Pass | varified by crossreferenceing firebase | |
Each Magic Card that belonged to a deck that was deleted will no longer display a deck name underneath its picture on the deck screen | Sonny | Chad | Chad | Pass | varified by crossreferenceing firebase | |
5 | Clicking the filter floating button at the bottom of the inventory screen opens up options for filtering the types of cards | Sonny | Chad | Chad | Pass | filter menu opens |
All selections (land, creatures, artifacts, sorcery, instants, planeswalkers, and enchantments) are visible and do not overflow the dialog box | Sonny | Chad | Chad | Pass | all selections are visible | |
no check boxes checked will cause all Magic Cards owned to be displayed | Sonny | Chad | Chad | Pass | with no selections, all cards are visible | |
checking an unchecked box next to one of the 7 types will cause only those types of cards to display and pop the dialog box | Sonny | Chad | Chad | Pass | only the selected types will appear if there is a selection | |
checking a second, third, forth, etc unchecked box will cause those selected types of Magic Cards to be added to the inventory display | Sonny | Chad | Chad | Pass | list of cards changes based on which filters are selected | |
unchecking a checked box when other boxes are checked will cause the selection that was unchecked to be removed from the inventory display | Sonny | Chad | Chad | Pass | cards of that catagory are removed when box is unselected | |
unchecking a checked box when other boxes are unchecked will cause the full inventory of cards to be displayed | Sonny | Chad | Chad | Pass | all cards returned to the screen when the only checked box was unchecked | |
6 | The subtract button in the details section of a card is invisible when the number owned is equal to the number in a deck | Sonny | Chad | Chad | Pass | I could not remove my last copy of "Swamp" from newChadDeck |
The subtract button in the details section of a card cannot be used when the number owned is equal to the number in a deck | Sonny | Chad | Chad | Pass | I could not remove my last copy of "Swamp" from newChadDeck | |
The subtract button in the details section of a card re-appears when the number in the inventory is greater than the number in a deck | Sonny | Chad | Chad | Pass | Minus sign reappeared when I added another Swamp to my inventory | |
7 | When I log in and open the hamburger menu drawer, a 'Game Play Tools' option should be available. | Julian | Chad | Chad | Pass | The option is available |
Upon clicking on the 'Game Play Tools' option in the Home Screen hamburger menu drawer, the app should navigate to the 'Game Play Setup' page. | Julian | Chad | Chad | Pass | I am navigated to "Game Play Setup" | |
Upon navigating to the 'Game Play Setup' page, the current setup for the game should be clearly and intuitively displayed showing various options such as number of players, starting life total, poison counter, energy counter, and day/night tracking. | Julian | Chad | Chad | Pass | I can see all options | |
Upon navigating to the 'Game Play Tools' page after the user has input the required gameplay setup parameters ('Number of Players' and 'Starting Life Total') and pressed the 'Begin Game' button, a red button labelled 'Roll D20 Dice' should appear. | Julian | Chad | Chad | Pass | I can see the roll dice button | |
Upon pressing the 'Roll D20 Dice' button, a couple pop-up messages should appear stating the action of rolling the dice and the actual value the dice rolled (from values 1-20). | Julian | Chad | Chad | Pass | I can roll the dice and | |
8 | In the 'Game Play Setup' page, there should be an intuitive and clearly marked drop-down button labelled 'Number of Players' as well as the number of players displayed in the current setup. | Julian | Chad | Chad | Pass | The dropdown is visible and the players in current setup is visible |
When the user clicks on the 'Begin Game' button without selecting the number of players, they should not be navigated to the 'Game Play Tools' and a pop-up message should appear requesting for the user to choose the number of players for the game. | Julian | Chad | Chad | Pass | I was unable to begin the game with 0 players | |
When the user clicks on the 'Number of Players' drop-down button, choices from values '2-6' should appear. | Julian | Chad | Chad | Pass | options for number of players is visible in dropdown | |
When the user chooses the numbers of player for this game, the current setup should adjust showing the number of players chosen. | Julian | Chad | Chad | Pass | current setup is updated to reflect changes | |
When the user has input the required gameplay setup parameters ('Number of Players' and 'Starting Life Total') and pressed the 'Begin Game' button, the app should navigate to the 'Game Play Tools' page with the chosen number of players displayed. | Julian | Chad | Chad | Pass | I am navigated to "Game Play Setup" | |
9 | In the 'Game Play Setup' page, there should be an intuitive and clearly marked drop-down button labelled 'Starting Life Total' as well as the starting life total displayed in the current setup. | Julian | Chad | Chad | Pass | I can see both player options when I press begin game |
When the user clicks on the 'Begin Game' button having selected the number of players but not the starting life total, they should not be navigated to the 'Game Play Tools' and a pop-up message should appear requesting for the user to choose the starting life total for the game. | Julian | Chad | Chad | Pass | I am unable to proceed to tools page until I select starting life | |
When the user clicks on the 'Starting Life Total' drop-down button, choices from values '10-100' in increments of 10 should appear. | Julian | Chad | Chad | Pass | I see starting life options in dropdown | |
When the user chooses the starting life total for this game, the current setup should adjust showing the starting life total value chosen. | Julian | Chad | Chad | Pass | current setup is updated to reflect changes | |
When the user has input the required gameplay setup parameters ('Number of Players' and 'Starting Life Total') and pressed the 'Begin Game' button, the app should navigate to the 'Game Play Tools' page with the chosen starting life total displayed separately for each player, each with a red '-' button on the left and a green '+' button on the right. | Julian | Chad | Chad | Pass | I can see each player separately with plus and minus signs on each side of each player | |
Upon pressing the red '-' button for the life total, that player's life total should decrement and be able to decrement below 0. | Julian | Chad | Chad | Pass | I can decrement counter below zero | |
Upon pressing the green '+' button for the life total, that player's life total should increment indefinitely. | Julian | Chad | Chad | Pass | How do I even test this? Ill try a clicking macro later and see what happens :p | |
10 | In the 'Game Play Setup' page, there should be an intuitive and clearly marked drop-down button labelled 'Poison Counter On/Off' as well as the poison option displayed in the current setup. | Julian | Chad | Chad | Pass | I can see the option for poison counters |
When the user clicks on the 'Poison Counter On/Off' drop-down button, choices of 'On' and 'Off' should appear. | Julian | Chad | Chad | Pass | I can see the options in poison dropdown | |
When the user chooses the poison counter option preference for this game, the current setup should adjust showing the poison counter tracker option chosen. (The default is off). | Julian | Chad | Chad | Pass | current setup is updated to reflect changes and I can begin game without changing poison counter | |
When the user has input the required gameplay setup parameters, has chosen to have the poison counter 'On', and has pressed the 'Begin Game' button, the app should navigate to the 'Game Play Tools' page with the poison counter starting at 0 displayed separately for each player, each with a red '-' button on the left and a green '+' button on the right. | Julian | Chad | Chad | Pass | I can see each players individual poison counter and can increment/decrement the counter | |
Upon pressing the red '-' button for the poison counter, that player's poison counter should decrement and be not able to decrement below 0. | Julian | Chad | Chad | Pass | I cannot decrement poison counter past zero | |
Upon pressing the green '+' button for the poison counter, that player's poison counter should increment and be able to increment only up to the value of 10. | Julian | Chad | Chad | Pass | I cannot increment poison counter past 10 | |
11 | In the 'Game Play Setup' page, there should be an intuitive and clearly marked drop-down button labelled 'Energy Counter On/Off' as well as the energy option displayed in the current setup. | Julian | Chad | Chad | Pass | I can see energy counter option |
When the user clicks on the 'Energy Counter On/Off' drop-down button, choices of 'On' and 'Off' should appear. | Julian | Chad | Chad | Pass | I can see energy counter options in dropdown | |
When the user chooses the energy counter option preference for this game, the current setup should adjust showing the energy counter tracker option chosen. (The default is off). | Julian | Chad | Chad | Pass | current setup is updated to reflect changes and I can begin game without changing energy counter | |
When the user has input the required gameplay setup parameters, has chosen to have the energy counter 'On', and has pressed the 'Begin Game' button, the app should navigate to the 'Game Play Tools' page with the energy counter starting at 0 displayed separately for each player, each with a red '-' button on the left and a green '+' button on the right. | Julian | Chad | Chad | Pass | I can see that each player has their own respective energy counter with plus and minus signs on both sides | |
Upon pressing the red '-' button for the energy counter, that player's energy counter should decrement and be not able to decrement below 0. | Julian | Chad | Chad | Pass | I cannot decrement energy counter past zero | |
Upon pressing the green '+' button for the energy counter, that player's energy counter should increment should be able to increment indefinitely. | Julian | Chad | Chad | Pass | Guess Ill use the good o'l macros | |
12 | In the 'Game Play Setup' page, there should be an intuitive and clearly marked drop-down button labelled 'Day/Night Tracking On/Off' as well as the tracking option displayed in the current setup. | Julian | Chad | Chad | Pass | Day/night tracking option is visible in dropdown and current setup |
When the user clicks on the 'Day/Night Tracking On/Off' drop-down button, choices of 'On' and 'Off' should appear. | Julian | Chad | Chad | Pass | dropdown options are visible | |
When the user chooses the day/night tracking option preference for this game, the current setup should adjust showing the day/night tracker option chosen. (The default is off). | Julian | Chad | Chad | Pass | current setup is updated to reflect changes and I can begin game without day/night tracking | |
When the user has input the required gameplay setup parameters, has chosen to have the day/night tracker option 'On', and has pressed the 'Begin Game' button, the app should navigate to the 'Game Play Tools' page with the day/night tracker clearly labeled in it's own box on the top of the page under the app bar with a dark blue 'Night' button, the current day/night status, a yellow 'Day' button, followed underneath by three gray buttons labelled 'Night Rules', 'General Rules', and 'Day Rules'. | Julian | Chad | Chad | Pass | day/night tracking is visible at the top of the tools page | |
When the user presses the dark blue 'Night' button, the status in the middle changes to 'Nightbound'. | Julian | Chad | Chad | Pass | I can change the status to nightbound | |
When the user presses the yellow 'Day' button, the status in the middle changes to 'Daybound'. | Julian | Chad | Chad | Pass | I can change the status to daybound | |
When the user presses the gray 'Night Rules' button, a pop-up message box appears stating the rules for specifically Nightbound mode of play. | Julian | Chad | Chad | Pass | I can view night rules | |
When the user presses the gray 'Day Rules' button, a pop-up message box appears stating the rules for specifically Daybound mode of play. | Julian | Chad | Chad | Pass | I can view day rules | |
When the user presses the gray 'General Rules' button, a pop-up message box appears stating the general rules regarding Daybound/Nightbound mode of play. | Julian | Chad | Chad | Pass | I can view general rules | |
13 | When the user presses the shopping cart button, the card item is added to the collection and the price is added and saved in the collection. | Giovanni | Chad | Chad | Pass | There needs to be exception handling for cards with null prices. See error posted in Bug Busters |
When the user navigates to wishlist, the price is displayed next to the other information. | Giovanni | Chad | Chad | Pass | price is visible | |
14 | When the user adds more than one card item to the collection, the total is calculated for usd. | Giovanni | Chad | Chad | Pass | I was unable to add more than 1 copies of each card. See error posted in Bug Busters |
The total is updated and displayed in real time on the wishlist page. | Giovanni | Chad | Chad | Fail | I had to back out of the wishlist and reenter for wishlist to update | |
The total changes every time a card is added or removed. | Giovanni | Chad | Chad | Pass | total is updated when wishlist is updated | |
The total amount displayed is in usd currency, in the form of a double. | Giovanni | Chad | Chad | Pass | the total is a decimal | |
The total amount display is the correct total. | Giovanni | Chad | Chad | Pass | My calculator matches with the total displayed | |
15 | The horizontal screen rendering issue is fixed and there is no yellow bars present on wishlist. | Giovanni | Chad | Chad | Pass | I do not see any yellow bars |
Expanded boxes are used now to evenly align the text displayed on wishlist. | Giovanni | Chad | Chad | Pass | entries match the column sizing | |
16 | When the user presses the checkout button, the card items in the collection, the prices, and the total are saved and transferred to purchase history. | Giovanni | Chad | Chad | Pass | I can see the entries in my purchase history |
When the user navigates to purchase history, the items bought and the total spent is displayed. | Giovanni | Chad | Chad | Pass | I can see the entries in my purchase history | |
17 | The total amount displayed is in usd currency, in the form of a double. | Giovanni | Chad | Chad | Pass | The total is a decimal |
The total amount display is the correct total. | Giovanni | Chad | Chad | Pass | My calculator matches with the total displayed | |
The total display on the purchase history is identical to the one on wishlist. | Giovanni | Chad | Chad | Pass | entries on purchase history match entries on wish list | |
18 | On login to app, the user can see a toggle to the right of the 'search' button under the textbox. | Chad | Julian | Julian | Pass | The toggle button is visible to the right of the 'Search' button. |
On tapping the toggle, the direction of the toggle changes. | Chad | Julian | Julian | Pass | The blue 'selected' color toggles from left to right and vice versa. | |
When tapping the toggle, if the label says 'Search for a card:', then the label changes from 'Search for a card:' to 'Search for a set:' | Chad | Julian | Julian | Pass | When the toggle is blue on the right, it states "Search For a Set:" and changes to "Search For a Card:" when toggled. | |
When tapping the toggle, if the label says 'Search for a set:', then the label changes from 'Search for a set:' to 'Search for a card:' | Chad | Julian | Julian | Pass | When the toggle is blue on the left, it states "Search For a Card:" and changes to "Search For a Set:" when toggled. | |
19 | On login to the app, the user can see a search bar with a toggle underneath (same action as first criteria on child user story 18) | Chad | Julian | Julian | Pass | The toggle button is visible to the right of the 'Search' button. |
Upon tapping the toggle to 'Search For a Card:' mode as displayed by the label above the search bar, the user can enter a name in the search bar | Chad | Julian | Julian | Pass | I can enter a card name when toggled to 'Search For a Card:' mode. | |
Upon pressing the 'Search' button (and the card exists), the user is redirected to a new screen that shows the card image and card prices | Chad | Julian | Julian | Pass | When I search for a card that exists, the app navigates to the card image and price(s). | |
20 | On login to the app, the user can see a search bar with a toggle underneath (same action as first criteria on child user story 18) | Chad | Julian | Julian | Pass | The toggle button is visible to the right of the 'Search' button. |
Upon tapping the toggle to 'set' mode as displayed by the label above the search bar, the user can enter a name in the search bar | Chad | Julian | Julian | Pass | I can enter a card name when toggled to 'Search For a Set:' mode. | |
Upon pressing the 'search' button (and the set exitsts), the user is redirected to a new screen that shows the set of cards | Chad | Julian | Julian | Fail | When I search for a set that exists, sometimes it shows up as it should, sometimes there was an exception thrown, but it does work consistently for searchable sets. | |
21 | On navigation to the set page, the user can see a list of card images that show what the card is | Chad | Julian | Julian | Pass | Each card of the set shows up with its card face showing. |
If the set has more than 175 cards, then the user can tap "Next Page" to be directed to the same screen with the next part of the set of cards | Chad | Julian | Julian | Pass | When searching for a set with less than 175 cards, the 'Next Page' text button does show up and when I search for a set with greater than 175 cards, the 'Next Page' text button appears and it does navigate to the remaining cards when pressed. | |
On navigation to the Next Page, the user can tap on the back arrow to go to the previous page. | Chad | Julian | Julian | Pass | When in the second page of cards and I press the back arrow button, the page does navigate to the previous list of the first 175 cards of the set. | |
On navigation to the (first) set page, the user can tap on the back arrow to navigate back to the home screen | Chad | Julian | Julian | Pass | When I press the back button in the first page of the set list page, it does return back to home screen. | |
22 | On navigation to the set page, the user can see a list of card images that show what the card is (same action as first critera of child story 21) | Chad | Julian | Julian | Pass | Each card of the set shows up with its card face showing. |
Upon long pressing on a card, the user is navigated to the card results page where they can view prices and add the card to inventory or wishlist | Chad | Julian | Julian | Pass | When I long press on a card in the set list page, the app navigates to a page showcasing the chosen card with it's prices listed below (as if having searched for the card itself). | |
Upon pressing the back arrow, the user is navigated back to the set results page | Chad | Julian | Julian | Pass | When I press the back arrow button, the app navigates back to the set list page. | |
23 | On login to the app, the user can see a search bar with a toggle underneath (same action as first criteria on child user story 18) | Chad | Julian | Julian | Pass | The toggle button is visible to the right of the 'Search' button. |
Upon searching for an incorrect card name when the toggle is set to "Card" mode, a message will appear that says "Card Does Not Exist" | Chad | Julian | Julian | Pass | When I search for a card name that does not exist, a pop-up message appears stating 'Card Does Not Exist'. | |
Upon searching for an incorrect set name when the toggle is set to "Set" mode, a message will appear that says "Set Does Not Exist" | Chad | Julian | Julian | Pass | When I search for a set name that does not exist, a pop-up message appears stating that 'Set Does Not Exist'. | |
Upon searching for an incorrect set or card name, the user feedback will stay on the screen for 1 second and subsequently disappear | Chad | Julian | Julian | Pass | When the pop-up message appears for either a non-existent card or set name, it remains for a second and then disappears. | |
24 | On the community screen, there is a button labeled "Inbox" | Chris | Chad | Chad | Pass | I can see the button that says "Inbox" |
When the "Inbox" button is tapped, the user is navigated to the Inbox screen. | Chris | Chad | Chad | Pass | I am navigated to the inbox screen | |
On the inbox screen, if there are any direct message conversations that the active user has stored on Firebase, there is a panel for each of them. | Chris | Chad | Chad | Pass | I can see the different conversations | |
For every displayed panel, the display name of the user with whom the direct message conversation is held is displayed. | Chris | Chad | Chad | Pass | name is visible | |
When the panel for a conversation is tapped, the user is navigated to the direct message thread view for that specific conversation. | Chris | Chad | Chad | Pass | when tapping on a convo, I am navigated to the conversation | |
25 | On the inbox screen, there is a floating action "+" button on the bottom right-hand corner of the screen. | Chris | Chad | Chad | Pass | I can see the floating plus button |
When the "+" button is pressed, the user is navigated to a page where they may search for users. | Chris | Chad | Chad | Pass | I am navigated to the Search For a User Screen screen | |
On the user search page, there is a textfield at the top. | Chris | Chad | Chad | Pass | I can see the text field | |
On the user search page, there is a search button at the top. | Chris | Chad | Chad | Pass | I can see the search button | |
When the search button is pressed, Firebase is searched for users with a name similar to the string in the textbox. | Chris | Chad | Chad | Pass | I am able to search in a fuzzy manner! | |
When search results are returned, there is a panel for every user that is returned. | Chris | Chad | Chad | Pass | I can see the users queried | |
Every returned panel has the name of the user returned on it. | Chris | Chad | Chad | Pass | each pannel has the user that corresponds with it | |
When the panel for a user is tapped, the user is navigated to thedirect message viewscreen corresponding to the active user and the selected user. | Chris | Chad | Chad | Pass | I am navigated to the conversation between the two users |