csharpthethird's People
csharpthethird's Issues
User can search for local products
Given a user is on the homepage
When the user searches for any city
Then the products with the matching location will show
Allow developers to access the Payment Type resource
Verbs to be supported
- GET
- POST
- PUT
- DELETE
User should be able to GET a list, and GET a single item.
User should be able to add a payment option for a customer
Given a customer has been made active in the program
When the user selects the option to add a payment type
Then the user should be prompted to enter in all appropriate information for a payment type
And when complete, the payment type should be added for the active customer
Enter payment type (e.g. AmEx, Visa, Checking)
>
Enter account number
>
Allow only Bangazonians access to the API
Update, and use, a CORS policy that only allows requests from the http://bangazon.com
domain.
Ref: https://docs.microsoft.com/en-us/aspnet/core/security/cors
Display Customers that haven't placed an Order
By using the URL parameter /customers/?active=false
, the JSON response should only contain customers that don't have any orders placed yet.
Allow developers to access Customer resource
Verbs to be supported
- GET
- POST
- PUT
User should be able to GET a list of customers, and GET a single customer.
User can select product category when selling product
Given a user is authenticated
And performs a gesture on the Sell a product hyperlink
When the product form is rendered
Then there should be a dropdown that displays all product categories
Given a user has filled out the product form, but not chosen a category
When the user clicks on the Sell button
Then the user should be alerted to select a product category
User should be able to add a product for a customer
Given a customer has been made active in the program
When the user selects the option to add a product
Then the user should be prompted to enter in all appropriate information for a product
And when complete, the product should be added for the active customer
User can search products to buy
Given the user is authenticated
When the user clicks on the search input field in the navigation bar
And the user types the name of a product
When pressed the enter key
Then products matching the keyword show in the page
User can cancel an order
Given the user is authenticated
When the user is viewing their order
Then there should be a button labeled Cancel Order which will remove all products from the order and delete the order
Allow developers to access the Product Type resource
Verbs to be supported
- GET
- POST
- PUT
- DELETE
User should be able to GET a list, and GET a single item.
User can view all product categories
Given a user is viewing any page on the Bangazon site
When the user performs a gesture on the Product Categories hyperlink
Then the user will see a view containing a list of all product categories
And next to the category name, the number of products in that category will be displayed
And the first three products in the category will be displayed beneath each category, that are hyperlinks to the product detail
Sample
Electronics (15)
Dryer
HD Television
Sony Walkman
Sporting Goods (7)
Football
Ice skates
Basketball hoop
User can view order history
Given a user is authenticated
When the user clicks on "my account" in the nav
Then the user will be presented with the option to view order history
The Order History View will include a list of previous orders
Given the user is on the "order history view"
When the user clicks on a specific order hyperlink
Then the user will be presented with the order detail including the products and total price for that order
Given the user is not authenticated
When the user clicks on "my account"
Then they are redirected to the login view
User should be able to add product to customer order
Given a customer has been made active in the program
When the user selects the option to add a product to the active customer's order
Then the user should be prompted with a numbered list of all products
And when one is chosen, the product should be added to an order for the active customer
Pro tip: To make it easier to add multiple products, when the user selects a product to add to the customer's order, display the menu of products again. Make sure the last option provides the option to go back to main menu.
1. Diapers
2. Case of Cracking Cola
3. Bicycle
4. AA Batteries
...
9. Done adding products
Order detail JSON should contain product details
Update the Order detail JSON object should contain all nested Product information.
For example:
{
OrderId: 21,
CustomerId: 16,
PaymentTypeId: 83,
Products: [
{
ProductId: 156,
Name: "Kite",
Price: 14.25
Quantity: 1
},
{
ProductId: 212,
Name: "Roller blades",
Price: 88.99
Quantity: 1
}
]
}
User can view product detail
Given user is viewing any page that contains a hyperlink for a product
When user performs a gesture on the product hyperlink
Then user will be shows the product detail page containing title, description, quantity available, price/unit, and a button labeled Add to Order
Given 1+ users have purchased a product
When a user views the details
Then the quantity display should show how many are remaining, not how many were originally for sale
User can delete a payment type
Given the user is authenticated
When the user performs a gesture on the My Settings hyperlink in the navigation bar
And the user clicks on Payment Options
And the user clicks on the Delete hyperlink next to a payment type
Then the payment option will get deleted
User can rate product after purchase. Seller can see average.
Given the user is authenticated
And is viewing their Order History (see #18)
When user rates a product from 1 to 5
Then the product rating must be saved in the system
Given the user is authenticated
And has sold products
When the user views their Account View
Then the average of all their product ratings will be displayed
User can view all products that are of a particular product type
Given the user is on any page of the Bangazon site
When the user performs a gesture on a product category name
Then a list of all products in that category will be displayed, with title, quantity, and price/unit
User should be able to update a product
Given a customer wants to update product information in the system
When the user selects the option to update a product
Then the user should be presented with a numbered list of all of the active customer's product
And when one is selected, the title, description, price, and quantity should be displayed
And the user can select which one to update
Select a product to update:
1. Kite
2. Marbles
3. Refrigerator
>
1. Change title "Refrigerator"
2. Change description "It keeps things cold"
3. Change price "149.99"
4. Change quantity "1"
>
Enter new price:
>
Allow developers to access the Training Program resource
Verbs to be supported
- GET
- POST
- PUT
- DELETE (but only if the start date is in the future)
User should be able to GET a list, and GET a single item.
User can like or dislike products
Given the user is authenticated
When the user is viewing a product detail page
Then a like and dislike button should be presented next to the product title
Given the user is authenticated
When the user clicks on the like or dislike icon
Then that preference should be stored for the current user
User should be able to view stale products
Given a user wants to see products that aren't selling
When the user selects the option to view stale products
Then the user should be presented with a list of all products that meet any of the following criteria
- Has never been added to an order, and has been in the system for more than 180 days
- Has been added to an order, but the order hasn't been completed, and the order was created more than 90 days ago
- Has been added to one, or more orders, and the order were completed, but there is remaining quantity for the product, and the product has been in the system for more than 180 days
Pro tip: Investigate the SQL
Union
operation to fulfill these requirements
User should be able to remove a product
Given a customer wants to remove a product from the system
When the user selects the option to remove a product
Then the user should be presented with a numbered list of all of the active customer's product
And when one is selected, it should be deleted from the system if it has not been added to an order yet
Choose product to delete:
1. Kite
2. Marbles
3. Refrigerator
>
User can view and edit their account settings
Given the user is authenticated
When the user clicks on "my account" in the nav
Then the user will be taken to account view
The account view will include:
- First Name
- Last Name
- Address
- Phone Number
- Payment Options
- Order History
Given the user is on the Account View
When the user clicks "edit account"
Then the user will be presented with a pre-populated form to edit their address, phone number, and last name
Given the user has completed the form with valid information
When the user clicks "update"
Then the information will update in the database, and in the account view
Allow developers to access the Computer resource
Verbs to be supported
- GET
- POST
- PUT
- DELETE
User should be able to GET a list, and GET a single item.
Allow developers to access the Employee resource
Verbs to be supported
- GET
- POST
- PUT
User should be able to GET a list, and GET a single item.
User can recommend product to another user
Given the user is viewing a product detail
When the user performs a gesture on the Recommend to a friend button
Then the user will be presented with a view so (s)he can type in another username and see a Send Notification button
Given the user has entered in another username in the recommendation screen
When the user clicks on the Send Notification button
Then the user will be taken back to the product detail view that they were viewing originally
Given a user has recommended a product to another user
When the receiver logs in next
Then the recommendation icon in the navigation bar will have it's notification count increased by one
User can add a payment type
Given the user is authenticated
When the user clicks on a profile affordance in the navigation bar
And the user clicks on the Add Payment Option hyperlink in their profile
Then the user can fill out the payment option form
And click Submit to save payment option
User should be able to able to complete a customer order
Given a customer has been made active in the program
When the user selects the option to complete an order
Then the user should be prompted to choose one of the active customer's payment options
And when one is chosen, the payment option should be added to the open order
If no products have been selected yet
Please add some products to your order first. Press any key to return to main menu.
If there are current products in an order
Your order total is $149.54. Ready to purchase
(Y/N) >
# If user entered Y
Choose a payment option
1. Amex
2. Visa
>
User should be able to select who the active Customer is
Given the user needs to perform an action on behalf of a customer
When the user selects the option to choose which customer is active
Then the user should be presented with a numbered list of all customers
And be able to select one of the customers
Which customer will be active?
1. John Q. Public
2. Svetlana Z. Herevazena
>
User can remove a product listing
Given the user is authenticated
When the user clicks on the My Products hyperlink in the navigation bar
Then the user will be presented with a list of products they (s)he has posted for sale
Given the list of products is presented to the user
When the user clicks the Delete button next to a posted product
Then the product for sale is removed from the system
User can upload a photo of the product
Given the user is uploading a product
When the user clicks "upload photo"
And selects a file
Then a thumbnail of the image will show in the Product Detail view
User should be able to create a Customer account
Given a new customer calls with a request for a representative to handle
When the user select the option to create a customer account
Then the user should be presented with prompts to enter in customer information
Enter customer name
>
Enter street address
>
Enter city
>
Enter state
>
Enter postal code
>
Enter phone number
>
Allow developers to access the Department resource
Verbs to be supported
- GET
- POST
- PUT
User should be able to GET a list, and GET a single item.
Allow developers to access Product resource
Verbs to be supported
- GET
- POST
- PUT
- DELETE
User should be able to GET a list of products, and GET a single product.
Allow developers to access the Order resource
Verbs to be supported
- GET
- POST
- PUT
- DELETE
User should be able to GET a list, and GET a single item.
User should be able to view the active customer's revenue report
Given a customer requests their overall revenue
When the user selects the corresponding option from the main menu
Then the user should be presented with the following report
Revenue report for Svetlana:
Order #34
----------------------------------------------------
Marble 15 $21.43
Order #109
----------------------------------------------------
Kite 1 $5.12
Marble 5 $5.52
Total Revenue: $32.07
User can view latest products on home page
Given a user visits the home page of Bangazon
When the page renders
Then the last 20 products that have been added to the system will be displayed as hyperlinks to their respective detail pages
Customer can add a product to sell
Given the user is not authenticated
When any view renders
Then the Sell a Product affordance will not be visible
Given the user is authenticated
When the user clicks on the Sell a product button in the menu bar
Then the user will be presented with a product form
Given the user can filled in all fields of the product form with valid information
When the user clicks the Sell button
Then the user will be redirected to the product detail view for that product
Given the user can filled in all fields of the product form with any invalid information
When the user clicks the Sell button
Then the user will be immediately notified with error information for each invalid value
User can complete an order
Given the user is authenticated
And the user is viewing their open order
When the user clicks the Complete Order button
Then the user should be presented with a view that allows them to select a payment type for the order
Given the user selects a payment option
When the user clicks the Done button
Then the payment type must be added to the order
And the user will be presented with a confirmation/thank you screen
User can view status of products uploaded
Given a user is authenticated
When a user clicks the My Products hyperlink in the navigation bar
Then the user will be presented with product status for each product uploaded including "current inventory" and "number sold"
Given a user is not authenticated
Then the My Products hyperlink will not be available in the navigation bar
Seller can specify local delivery available
Given a user is uploading a product to sell
When the product form is displayed
Then the user will have an option to specify that local delivery is available
And the user can add the city to be used as a searchable field in the main application
User should see overall product popularity
Given a user wants to see the most popular products in the system
When the user selects the corresponding option from the main menu
Then the user should see the following report
Product Orders Purchasers Revenue
*******************************************************
AA Batteries 100 20 $990.90
Diapers 50 10 $640.95
Case of Cracking... 40 30 $270.96
*******************************************************
Totals: 190 60 $1,902.81
-> Press any key to return to main menu
- User will see the top 3 revenue generating products
- The product column must be 20 characters wide, and will display a maximum of 18 characters for the product name.
- The orders column must be 11 characters wide.
- The purchasers column must be 15 characters wide.
- The revenue column must be 15 characters wide.
User can delete product from shopping cart
Given the user is authenticated
When the user is viewing their shopping cart
And clicks the Delete button at the end of the row
Then the product is deleted from the shopping cart
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.