Coder Social home page Coder Social logo

global-pursuit's People

Watchers

 avatar  avatar  avatar  avatar

Forkers

nicolehall

global-pursuit's Issues

twitter OAuth

as an unregistered user
when I visit the new_user_path
I expect to see a link to allow me to log in with twitter
and when I click that link I expect to be taken off site * and asked to allow permision*
then i expect to be redirected to my "/dashboard"

Browsing Items by category

Background: I have two categories with titles and each has two different items assigned
As a visitor
When I visit "/CATEGORY_NAME"
I see all items assigned to that category

Adding items to the cart

Background: Items, and a user that is not logged in
As a visitor
When I visit any page with an item on it
I should see a link or button for "Add to Cart"
When I click "Add to cart" for that item
And I click a link or button to view cart
And my current path should be "/cart"
And I should see a small image, title, description and price for the item I just added
And there should be a "total" price for the cart that should be the sum of all items in the cart

Authenticated User

As a visitor
When I visit "/"
Then I should see a link for "Login"
And when I click link "Create Account"
Then my current page should be "/dashboard"
And I should see a message in the navbar that says "Logged in as SOME_USER"
And I should see my profile information
And I should not see a link for "Login"
And I should see a link for "Logout"

And when I visit "/cart"
Then I should see all of the data that was there when I was not logged in
When I click "Logout"
Then I should see see "Login"
And I should not see "Logout"

Checking out

Background: An existing user and a cart with items
As a visitor
When I visit "/cart"
And I click "Checkout"
Then I should be required to login
When I am logged in
And I visit "/cart"
And I click "Checkout"
Then the order should be placed
And my current page should be "/orders"
And I should see a message "Order was successfully placed"
And I should see the order I just placed in a table

Authenticated users security

Background: An authenticated user and the ability to add an admin user
As an Authenticated User
I cannot view another user's private data (current or past orders, etc)
I cannot view the administrator screens or use admin functionality
I cannot make myself an admin

clean up UI

go through each page with a fresh set of eyes and make sure each element is positioned well and belongs in the context of the page.

Admin logs in

As an Admin
When I log in
Then I am redirected to "/admin/dashboard"

Admin views an individual Order

As an authenticated Admin, when I visit an individual order page
Then I can see the order's date and time.
And I can see the purchaser's full name and address.
And I can see, for each item on the order:
- The item's name, which is linked to the item page.
- Quantity in this order.
- Price
- Line item subtotal.
And I can see the total for the order.
And I can see the status for the order.

Admin Item Creation

As an authenticated Admin:
I can create an item.
- An item must have a title, description and price.
- An item must belong to at least one category.
- The title and description cannot be empty.
- The title must be unique for all items in the system.
- The price must be a valid decimal numeric value and greater than zero.
- The photo is optional. If not present, a stand-in photo is used.

Unauthenticated users security

Background: An unauthenticated user and their abilities
As an Unuthenticated User
I cannot view another user's private data, such as current order, etc.
I should be redirected to login when I try to check out.
I cannot view the administrator screens or use administrator functionality.
I cannot make myself an administrator.

Create Wireframes for Most Important Views

Think about what you think the workflow should be on the site. Which of those views is most important?
In addition to the home page wireframe, create wireframes for the next two most important pages.
Examples might be: A users' profile page, a product page, an admin dashboard etc...

Admin cannot modify users

As a logged in Admin
I can modify my account data
But I cannot modify any other user's account data

Visitor can view items

Background: I have several items and each of them has a title, description, price, and image
As a visitor
When I visit "/items"
I can see all existing items

user dashboard - order

as an authenticated user
when I visit my dashboard
I expect to see a link to view order history
and when I click that link
I expect to see a list of all my past orders

Admin Viewing items

As an Admin
When I visit "/admin/dashboard"
Then I should see a link for viewing all items
And when I click that link
Then my current path should be "/admin/items"
Then I should see a table with all items (active and inactive)
And each item should have:
- A thumbnail of the image
- Title that links to the item
- Description
- Status
- Actions (Edit)

Admin Orders

As an Admin
When I visit the dashboard
Then I can see a listing of all orders
And I can see the total number of orders for each status ("Ordered", "Paid", "Cancelled", "Completed")
And I can see a link for each individual order
And I can filter orders to display by each status type ("Ordered", "Paid", "Cancelled", "Completed")
And I have links to transition the status
- I can click on "cancel" on individual orders which are "paid" or "ordered"
- I can click on "mark as paid" on orders that are "ordered"
- I can click on "mark as completed" on orders that are "paid"

Admin edits an item

Background: an existing item
As an admin
When I visit "admin/items"
And I click "Edit"
Then my current path should be "/admin/items/:ITEM_ID/edit"
And I should be able to upate title, description, image, and status

Admin User Dashboard

As an Admin
When I visit "/admin/dashboard"
I will see a heading on the page that says "Admin Dashboard"
As a registered user
When I visit "/admin/dashboard"
I get a 404
As an unregistered user
When I visit "/admin/dashboard"
I get a 404

Adjusting the quantity of an item in the cart (number of travelers)

Background: My cart has an item in it
As a visitor
When I visit "/cart"
Then I should see my item with a quantity of 1
And when I increase the quantity
Then my current page should be '/cart'
And that item's quantity should reflect the increase
And the subtotal for that item should increase
And the total for the cart should match that increase
And when I decrease the quantity
Then my current page should be '/cart'
And that item's quantity should reflect the decrease
And the subtotal for that item should decrease
And the total for the cart should match that decrease

Viewing a past order

Background: An existing user that has one previous order
As an authenticated user
When I visit "/orders"
Then I should see my past order
And I should see a link to view that order
And when I click that link
Then I should see each item that was order with the quantity and line-item subtotals
And I should see links to each item's show page
And I should see the current status of the order (ordered, paid, cancelled, completed)
And I should see the total price for the order
And I should see the date/time that the order was submitted
If the order was completed or cancelled
Then I should see a timestamp when the action took place
And if any of the items in the order were retired from the menu
Then they should still be able to access the item page
But they should not be able to add the item to their cart

Viewing past orders

Background: An existing user that has multiple orders
As an Authenticated User
When I visit "/orders"
Then I should see all orders belonging to me

Removing an item from my cart

Background: My cart has an item in it
As a visitor
When I visit "/cart"
And I click link "Remove"
Then my current page should be "/cart"
And I should see a message styled in green
And the message should say "Successfully removed SOME_ITEM from your cart."
And the title "SOME_ITEM" should be a link to that item in case the user wants to add it back
And I should not see the item listed in cart

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.