As a buyer user I'd like a place to create an account if I don't already have one
Acceptance Criteria:
I should only be able to self-register if I am browsing in an anonymous-enabled application
I will be able to enter the following details
FirstName
LastName
Email (must be in correct format)
Phone
Password
I should be required to confirm my password, both password and confirm password must match and be at least 8 characters long and at least one letter and one number
Once submitted I will be able to login as my recently created user
I should be able to navigate to Forgot Password page
As a buyer user I would like to hover over the shoping cart icon in the header bar to see a mini shopping cart with a compact view of my line items along with prices and quantities
Acceptance Criteria:
I should be able to hover over mini cart to view the contents of the cart
I should be able to see name, price and quantity for each line item
I should be able to click on a line item to go to the detail page
I should be able to see my order Subtotal
I should see a message if my cart is empty
I should be able to click on the minicart to navigate to the cart page
Note: consider copying the Category menu from mgr.
As an admin user I'd like to be able to assume the identity of any buyer user
Acceptance Criteria:
I should see only exactly what the buyer user should see and nothing more
Limits such as on inventory should apply to me as they do the original user
I should be able to update the user's profile
I should be able to place an order on their behalf
Technical notes: the admin app will generate the buyer's token and route the user to the buyer app which should have a route set up accept a buyer token, set it in the cookies and continue as that user
As a buyer user I'd like to access a detail summary of an order I've placed
Acceptance Criteria:
I should see a breadcrumb back to the order list page
I should see order number from anywhere in order detail
I should see date submitted from anywhere in order detail
I should see the following information after selecting the Details tab:
Shipping Address
Billing Address
Subtotal
Shipping (cost)
Tax
Total
payment - type, amount and any details about it
list of line items with quantity, price and unit price, should link to detail page for each product
I should see the following information under the Shipments tab
a shipment tab for each shipment
I should see a message if there are no shipments for an order
i should be able to click a tab to see the line items that shipped with that shipment and the quantity shipped
if a shipment has a Shipper set to UPS, USPS or FEDEX and a TrackingNumber, I should be able to click on the tracking link to easily access access tracking information about my order
As a Buyer user I should be able to apply Promotions to my order during checkout. These should have the following optional functionality based on the promotion data model.
start and end times outside of which promotion is not available.
an expression that determines eligibility (e.g. order.Subtotal > 10)
an expression that determines value (e.g. order.Total * .10)
The ability to either work with other promotions or not.
On the product list page I should see a filtering option for recently added products.
When I click this, only products classified as recently added are displayed.
This filter should layer with search so that I can search recently added products.
Technical Details - Add an xp value on products called something like "VisibleDate". It can be set in the Admin and the value default is right now. Products are only visible in the buyer app starting at midnight on the visible date. There should be a configuration setting in the app that defines how recent something should be to be "recently added" - 30 days is a good default. This filter looks at the xp field.
As a buyer user I would like to be able to see additional product images for a single product so that I can make a better decision when purchasing an item.
Location in app: Product List > Product-Detail
Acceptance Criteria:
I should see an additional-images carousel below the main product image
selecting a smaller image should allow me to view an enlarged version of it in the main product image section
I should be able to use the forward and backward arrows to loop through product images
I should be able to click on one of the smaller images in the carousel to view
As a buyer user I'd like to view my order and its details immediately after submitting the order. This gives me one last chance to make sure everything is correct.
Acceptance Criteria:
I should be able to see the following information about my order:
Delivery Address
Billling Address
OrderID
DateSubmitted
Subtotal
Tax
Shipping
Total
List of payments - payment type, amount and details
As a buyer user I would like to opt in to a token refresh feature to avoid having to sign in to an application every time my access token expires.
Setup:
set a refresh token for this application (refresh token > 0)
Acceptance Criteria:
I should see a Remember Me checkbox on the login page
If i clicked the checkbox and signed in, then the next time my access token expires the application will automatically sign me in by retrieving a new access token with my refresh token
Tips for testing:
after logging in while having box checked you should be able to see {appname}_refresh.token in the cookies as well as {appname}_rememberMe
you can delete {appname}.token (access token) from cookies to simulate an expired token. Then refresh the page. If it fails you'll go to login, if it succeeds you will remain logged in without having to sign in again.
As a buyer user checking out in the confirm section on an app with Anonymous Shopping Disabled
I should see a free-text box called comments.
Text entered here will be save on order.comments
This text will be displayed in the order history section.
As a buyer user that is an approving user, I should be able to:
see a section in profile with orders I can approve
approve orders with comments
reject orders with comments
After approval or rejection, the order should leave this list and the user who submitted the order should see the status change.
As a buyer user that who's order is being reviewed, I should be able to:
view pending approvals (in order history)
resubmit an order if it was rejected
Notes for testing - We've set up a rule where orders over $1000 require approval. The approving user group has an ID of ApprovingGroupB. The only user in the group has Username of Approver with password fails345
see a category tree to the left of the product list
a caret should appear to the left of any category that has subcategories
I should be able to click a right-facing caret to expand tree and drill into subcategories
I should be able to click on a downward facing caret to collapse sub-categories
I should be able to click on a category to filter the list of products by products that are in that category or in any subcategory of the selected category
As a buyer user I'd like a space on the homepage to see any announcements the seller may have for me
Acceptance Criteria:
I should be able to see a section above image carousel to view announcements.
Notes: MVP for this will be a simple static section that is editable from the admin. Down the road we can consider making this a rotating carousel of announcements for the user to scroll through.
Create new product variants with ID, Name, Required toggle.
Edit or delete product variants.
Create new options within a variants with ID, Value, Markup Type (None, fixed amount per unit, fixed amount per line, percent of line total), markup amount.
-Edit or Delete options.
As a buyer user I should be able to submit my order with a CreditCard payment
Acceptance Criteria:
I should only be able to see CreditCards assigned to me or created by me
The payment amount should be set to the total of the order
I should see a transaction on my payment simulating an authorized payment from an integration
Notes: this generic credit card component does not handle any kind of authorization or capture of funds, this must be handled by a third party integration such as stripe, authNet etc.
Validation
These are suggestions from Archway. We should also do things like check standard CC rules and CC type.
Card Holder# - should be number and space only (can this be limited to 20 chars?)
Card Holder Name - should be only alpha numeric with spaces and special characters "-“, “apostrophe”, and “.”
CCV should be number only (limit the characters to 4 characters – 3 for MC, Visa and Discover; 4 for Amex)
All the large textarea inputs should have the ability to format text. For example, marking text as bold, italics, underline, large font, exponent, ect. There's a good library for this used in Winmark I believe.
All the locations these fields are displayed should show the formatted text.
Locations include announcements, product details, order comments. Add more if you can think of more.