Card Hunter Documentation



Sprint 1

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.


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


Sprint 3

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


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

Card Hunter created by Sonny Icks, Chad Marshall, Julian Shen, Giovanni Soto, and Chris Syfrett. Card Hunter Documentation created by Chad Marshall. Copyright 2022