docs: add consolidated dev URL reference and migrate /shop to /storefront
Some checks failed
Some checks failed
- Add Development URL Quick Reference section to url-routing overview with all login URLs, entry points, and full examples - Replace /shop/ path segments with /storefront/ across 50 docs files - Update file references: shop_pages.py → storefront_pages.py, templates/shop/ → templates/storefront/, api/v1/shop/ → api/v1/storefront/ - Preserve domain references (orion.shop) and /store/ staff dashboard paths - Archive docs left unchanged (historical) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Shop Frontend Features - Testing Checklist
|
||||
# Storefront Frontend Features - Testing Checklist
|
||||
|
||||
**Last Updated:** 2026-01-08
|
||||
**Total Pages:** 15+
|
||||
@@ -11,7 +11,7 @@
|
||||
### Homepage Display
|
||||
| Test Case | Route | Method | Status |
|
||||
|-----------|-------|--------|--------|
|
||||
| Load homepage | `/shop/` | GET | Working |
|
||||
| Load homepage | `/storefront/` | GET | Working |
|
||||
|
||||
**UI Elements to Test:**
|
||||
- [ ] Hero section with store branding
|
||||
@@ -30,10 +30,10 @@
|
||||
### Products List
|
||||
| Test Case | Route | Method | Status |
|
||||
|-----------|-------|--------|--------|
|
||||
| Browse all products | `/shop/products` | GET | Working |
|
||||
| API: List products | `/api/v1/shop/products` | GET | Working |
|
||||
| Filter featured products | `/api/v1/shop/products?is_featured=true` | GET | Working |
|
||||
| Pagination | `/api/v1/shop/products?skip=&limit=` | GET | Working |
|
||||
| Browse all products | `/storefront/products` | GET | Working |
|
||||
| API: List products | `/api/v1/storefront/products` | GET | Working |
|
||||
| Filter featured products | `/api/v1/storefront/products?is_featured=true` | GET | Working |
|
||||
| Pagination | `/api/v1/storefront/products?skip=&limit=` | GET | Working |
|
||||
|
||||
**UI Elements to Test:**
|
||||
- [ ] Product grid display (2-4 columns)
|
||||
@@ -58,8 +58,8 @@
|
||||
### Product Detail Page
|
||||
| Test Case | Route | Method | Status |
|
||||
|-----------|-------|--------|--------|
|
||||
| View product details | `/shop/products/{product_id}` | GET | Working |
|
||||
| API: Get product | `/api/v1/shop/products/{product_id}` | GET | Working |
|
||||
| View product details | `/storefront/products/{product_id}` | GET | Working |
|
||||
| API: Get product | `/api/v1/storefront/products/{product_id}` | GET | Working |
|
||||
|
||||
**UI Elements to Test:**
|
||||
- [ ] Main product image
|
||||
@@ -85,9 +85,9 @@
|
||||
### Product Search
|
||||
| Test Case | Route | Method | Status |
|
||||
|-----------|-------|--------|--------|
|
||||
| Search page | `/shop/search` | GET | Working |
|
||||
| Search with query | `/shop/search?q=` | GET | Working |
|
||||
| API: Search products | `/api/v1/shop/products/search?q=` | GET | Working |
|
||||
| Search page | `/storefront/search` | GET | Working |
|
||||
| Search with query | `/storefront/search?q=` | GET | Working |
|
||||
| API: Search products | `/api/v1/storefront/products/search?q=` | GET | Working |
|
||||
|
||||
**UI Elements to Test:**
|
||||
- [ ] Search input field
|
||||
@@ -118,12 +118,12 @@
|
||||
### Cart Management
|
||||
| Test Case | Route | Method | Status |
|
||||
|-----------|-------|--------|--------|
|
||||
| View cart page | `/shop/cart` | GET | Working |
|
||||
| API: Get cart | `/api/v1/shop/cart/{session_id}` | GET | Working |
|
||||
| API: Add to cart | `/api/v1/shop/cart/{session_id}/items` | POST | Working |
|
||||
| API: Update quantity | `/api/v1/shop/cart/{session_id}/items/{product_id}` | PUT | Working |
|
||||
| API: Remove item | `/api/v1/shop/cart/{session_id}/items/{product_id}` | DELETE | Working |
|
||||
| API: Clear cart | `/api/v1/shop/cart/{session_id}` | DELETE | Working |
|
||||
| View cart page | `/storefront/cart` | GET | Working |
|
||||
| API: Get cart | `/api/v1/storefront/cart/{session_id}` | GET | Working |
|
||||
| API: Add to cart | `/api/v1/storefront/cart/{session_id}/items` | POST | Working |
|
||||
| API: Update quantity | `/api/v1/storefront/cart/{session_id}/items/{product_id}` | PUT | Working |
|
||||
| API: Remove item | `/api/v1/storefront/cart/{session_id}/items/{product_id}` | DELETE | Working |
|
||||
| API: Clear cart | `/api/v1/storefront/cart/{session_id}` | DELETE | Working |
|
||||
|
||||
**UI Elements to Test:**
|
||||
- [ ] Cart item list
|
||||
@@ -162,8 +162,8 @@
|
||||
### Checkout Process
|
||||
| Test Case | Route | Method | Status |
|
||||
|-----------|-------|--------|--------|
|
||||
| Checkout page | `/shop/checkout` | GET | Working |
|
||||
| API: Place order | `/api/v1/shop/orders` | POST | Working |
|
||||
| Checkout page | `/storefront/checkout` | GET | Working |
|
||||
| API: Place order | `/api/v1/storefront/orders` | POST | Working |
|
||||
|
||||
### Step 1: Contact & Shipping
|
||||
**Form Fields:**
|
||||
@@ -225,8 +225,8 @@
|
||||
### Login
|
||||
| Test Case | Route | Method | Status |
|
||||
|-----------|-------|--------|--------|
|
||||
| Login page | `/shop/account/login` | GET | Working |
|
||||
| API: Login | `/api/v1/shop/auth/login` | POST | Working |
|
||||
| Login page | `/storefront/account/login` | GET | Working |
|
||||
| API: Login | `/api/v1/storefront/auth/login` | POST | Working |
|
||||
|
||||
**Form Fields:**
|
||||
- [ ] Email/username (required)
|
||||
@@ -251,8 +251,8 @@
|
||||
### Registration
|
||||
| Test Case | Route | Method | Status |
|
||||
|-----------|-------|--------|--------|
|
||||
| Register page | `/shop/account/register` | GET | Working |
|
||||
| API: Register | `/api/v1/shop/auth/register` | POST | Working |
|
||||
| Register page | `/storefront/account/register` | GET | Working |
|
||||
| API: Register | `/api/v1/storefront/auth/register` | POST | Working |
|
||||
|
||||
**Form Fields:**
|
||||
- [ ] First name (required)
|
||||
@@ -283,8 +283,8 @@
|
||||
### Forgot Password
|
||||
| Test Case | Route | Method | Status |
|
||||
|-----------|-------|--------|--------|
|
||||
| Forgot password page | `/shop/account/forgot-password` | GET | Working |
|
||||
| API: Request reset | `/api/v1/shop/auth/forgot-password` | POST | Working |
|
||||
| Forgot password page | `/storefront/account/forgot-password` | GET | Working |
|
||||
| API: Request reset | `/api/v1/storefront/auth/forgot-password` | POST | Working |
|
||||
|
||||
**Form Fields:**
|
||||
- [ ] Email (required)
|
||||
@@ -303,8 +303,8 @@
|
||||
### Reset Password
|
||||
| Test Case | Route | Method | Status |
|
||||
|-----------|-------|--------|--------|
|
||||
| Reset password page | `/shop/account/reset-password` | GET | Working |
|
||||
| API: Reset password | `/api/v1/shop/auth/reset-password` | POST | Working |
|
||||
| Reset password page | `/storefront/account/reset-password` | GET | Working |
|
||||
| API: Reset password | `/api/v1/storefront/auth/reset-password` | POST | Working |
|
||||
|
||||
**Form Fields:**
|
||||
- [ ] Reset token (auto-filled from URL)
|
||||
@@ -327,7 +327,7 @@
|
||||
### Logout
|
||||
| Test Case | Route | Method | Status |
|
||||
|-----------|-------|--------|--------|
|
||||
| API: Logout | `/api/v1/shop/auth/logout` | POST | Working |
|
||||
| API: Logout | `/api/v1/storefront/auth/logout` | POST | Working |
|
||||
|
||||
---
|
||||
|
||||
@@ -336,8 +336,8 @@
|
||||
### Account Dashboard
|
||||
| Test Case | Route | Method | Status |
|
||||
|-----------|-------|--------|--------|
|
||||
| Dashboard page | `/shop/account/dashboard` | GET | Working |
|
||||
| API: Get profile | `/api/v1/shop/profile` | GET | Working |
|
||||
| Dashboard page | `/storefront/account/dashboard` | GET | Working |
|
||||
| API: Get profile | `/api/v1/storefront/profile` | GET | Working |
|
||||
|
||||
**UI Elements to Test:**
|
||||
- [ ] Welcome message with name
|
||||
@@ -354,9 +354,9 @@
|
||||
### Profile Management
|
||||
| Test Case | Route | Method | Status |
|
||||
|-----------|-------|--------|--------|
|
||||
| Profile page | `/shop/account/profile` | GET | Working |
|
||||
| API: Get profile | `/api/v1/shop/profile` | GET | Working |
|
||||
| API: Update profile | `/api/v1/shop/profile` | PUT | Working |
|
||||
| Profile page | `/storefront/account/profile` | GET | Working |
|
||||
| API: Get profile | `/api/v1/storefront/profile` | GET | Working |
|
||||
| API: Update profile | `/api/v1/storefront/profile` | PUT | Working |
|
||||
|
||||
**Profile Form Fields:**
|
||||
- [ ] First name
|
||||
@@ -382,7 +382,7 @@
|
||||
### Change Password
|
||||
| Test Case | Route | Method | Status |
|
||||
|-----------|-------|--------|--------|
|
||||
| API: Change password | `/api/v1/shop/profile/password` | PUT | Working |
|
||||
| API: Change password | `/api/v1/storefront/profile/password` | PUT | Working |
|
||||
|
||||
**Password Change Form:**
|
||||
- [ ] Current password (required)
|
||||
@@ -406,8 +406,8 @@
|
||||
### Address List
|
||||
| Test Case | Route | Method | Status |
|
||||
|-----------|-------|--------|--------|
|
||||
| Addresses page | `/shop/account/addresses` | GET | Working |
|
||||
| API: List addresses | `/api/v1/shop/addresses` | GET | Working |
|
||||
| Addresses page | `/storefront/account/addresses` | GET | Working |
|
||||
| API: List addresses | `/api/v1/storefront/addresses` | GET | Working |
|
||||
|
||||
**UI Elements to Test:**
|
||||
- [ ] Address cards grid
|
||||
@@ -421,11 +421,11 @@
|
||||
### Address CRUD
|
||||
| Test Case | Route | Method | Status |
|
||||
|-----------|-------|--------|--------|
|
||||
| API: Get single address | `/api/v1/shop/addresses/{address_id}` | GET | Working |
|
||||
| API: Create address | `/api/v1/shop/addresses` | POST | Working |
|
||||
| API: Update address | `/api/v1/shop/addresses/{address_id}` | PUT | Working |
|
||||
| API: Set as default | `/api/v1/shop/addresses/{address_id}/default` | PUT | Working |
|
||||
| API: Delete address | `/api/v1/shop/addresses/{address_id}` | DELETE | Working |
|
||||
| API: Get single address | `/api/v1/storefront/addresses/{address_id}` | GET | Working |
|
||||
| API: Create address | `/api/v1/storefront/addresses` | POST | Working |
|
||||
| API: Update address | `/api/v1/storefront/addresses/{address_id}` | PUT | Working |
|
||||
| API: Set as default | `/api/v1/storefront/addresses/{address_id}/default` | PUT | Working |
|
||||
| API: Delete address | `/api/v1/storefront/addresses/{address_id}` | DELETE | Working |
|
||||
|
||||
**Address Form Fields:**
|
||||
- [ ] Address type (shipping/billing)
|
||||
@@ -466,8 +466,8 @@
|
||||
### Orders List
|
||||
| Test Case | Route | Method | Status |
|
||||
|-----------|-------|--------|--------|
|
||||
| Orders page | `/shop/account/orders` | GET | Working |
|
||||
| API: List orders | `/api/v1/shop/orders` | GET | Working |
|
||||
| Orders page | `/storefront/account/orders` | GET | Working |
|
||||
| API: List orders | `/api/v1/storefront/orders` | GET | Working |
|
||||
|
||||
**UI Elements to Test:**
|
||||
- [ ] Order cards list
|
||||
@@ -491,8 +491,8 @@
|
||||
### Order Detail
|
||||
| Test Case | Route | Method | Status |
|
||||
|-----------|-------|--------|--------|
|
||||
| Order detail page | `/shop/account/orders/{order_id}` | GET | Working |
|
||||
| API: Get order | `/api/v1/shop/orders/{order_id}` | GET | Working |
|
||||
| Order detail page | `/storefront/account/orders/{order_id}` | GET | Working |
|
||||
| API: Get order | `/api/v1/storefront/orders/{order_id}` | GET | Working |
|
||||
|
||||
**UI Elements to Test:**
|
||||
- [ ] Order header (number, date, status)
|
||||
@@ -508,7 +508,7 @@
|
||||
### Invoice Download
|
||||
| Test Case | Route | Method | Status |
|
||||
|-----------|-------|--------|--------|
|
||||
| API: Download invoice | `/api/v1/shop/orders/{order_id}/invoice` | GET | Working |
|
||||
| API: Download invoice | `/api/v1/storefront/orders/{order_id}/invoice` | GET | Working |
|
||||
|
||||
**Note:** Only available for orders with status: processing, partially_shipped, shipped, delivered, completed
|
||||
|
||||
@@ -519,9 +519,9 @@
|
||||
### Messages List
|
||||
| Test Case | Route | Method | Status |
|
||||
|-----------|-------|--------|--------|
|
||||
| Messages page | `/shop/account/messages` | GET | Working |
|
||||
| API: List conversations | `/api/v1/shop/messages` | GET | Working |
|
||||
| API: Get unread count | `/api/v1/shop/messages/unread-count` | GET | Working |
|
||||
| Messages page | `/storefront/account/messages` | GET | Working |
|
||||
| API: List conversations | `/api/v1/storefront/messages` | GET | Working |
|
||||
| API: Get unread count | `/api/v1/storefront/messages/unread-count` | GET | Working |
|
||||
|
||||
**UI Elements to Test:**
|
||||
- [ ] Conversation list
|
||||
@@ -536,9 +536,9 @@
|
||||
### Conversation Detail
|
||||
| Test Case | Route | Method | Status |
|
||||
|-----------|-------|--------|--------|
|
||||
| API: Get conversation | `/api/v1/shop/messages/{conversation_id}` | GET | Working |
|
||||
| API: Send message | `/api/v1/shop/messages/{conversation_id}/messages` | POST | Working |
|
||||
| API: Mark as read | `/api/v1/shop/messages/{conversation_id}/read` | PUT | Working |
|
||||
| API: Get conversation | `/api/v1/storefront/messages/{conversation_id}` | GET | Working |
|
||||
| API: Send message | `/api/v1/storefront/messages/{conversation_id}/messages` | POST | Working |
|
||||
| API: Mark as read | `/api/v1/storefront/messages/{conversation_id}/read` | PUT | Working |
|
||||
|
||||
**UI Elements to Test:**
|
||||
- [ ] Message thread display
|
||||
@@ -562,8 +562,8 @@
|
||||
### Attachment Download
|
||||
| Test Case | Route | Method | Status |
|
||||
|-----------|-------|--------|--------|
|
||||
| API: Download attachment | `/api/v1/shop/messages/{conversation_id}/attachments/{attachment_id}` | GET | Working |
|
||||
| API: Get thumbnail | `/api/v1/shop/messages/{conversation_id}/attachments/{attachment_id}/thumbnail` | GET | Working |
|
||||
| API: Download attachment | `/api/v1/storefront/messages/{conversation_id}/attachments/{attachment_id}` | GET | Working |
|
||||
| API: Get thumbnail | `/api/v1/storefront/messages/{conversation_id}/attachments/{attachment_id}/thumbnail` | GET | Working |
|
||||
|
||||
---
|
||||
|
||||
@@ -572,17 +572,17 @@
|
||||
### CMS Pages
|
||||
| Test Case | Route | Method | Status |
|
||||
|-----------|-------|--------|--------|
|
||||
| View content page | `/shop/page/{slug}` | GET | Working |
|
||||
| API: Get navigation | `/api/v1/shop/content-pages/navigation` | GET | Working |
|
||||
| API: Get page content | `/api/v1/shop/content-pages/{slug}` | GET | Working |
|
||||
| View content page | `/storefront/page/{slug}` | GET | Working |
|
||||
| API: Get navigation | `/api/v1/storefront/content-pages/navigation` | GET | Working |
|
||||
| API: Get page content | `/api/v1/storefront/content-pages/{slug}` | GET | Working |
|
||||
|
||||
**Common Pages to Test:**
|
||||
- [ ] About Us (`/shop/about`)
|
||||
- [ ] Contact (`/shop/contact`)
|
||||
- [ ] Terms & Conditions (`/shop/terms`)
|
||||
- [ ] Privacy Policy (`/shop/privacy`)
|
||||
- [ ] Return Policy (`/shop/returns`)
|
||||
- [ ] FAQ (`/shop/faq`)
|
||||
- [ ] About Us (`/storefront/about`)
|
||||
- [ ] Contact (`/storefront/contact`)
|
||||
- [ ] Terms & Conditions (`/storefront/terms`)
|
||||
- [ ] Privacy Policy (`/storefront/privacy`)
|
||||
- [ ] Return Policy (`/storefront/returns`)
|
||||
- [ ] FAQ (`/storefront/faq`)
|
||||
|
||||
**UI Elements to Test:**
|
||||
- [ ] Page title
|
||||
|
||||
Reference in New Issue
Block a user