Skip to content

Latest commit

Β 

History

History
398 lines (325 loc) Β· 10.9 KB

File metadata and controls

398 lines (325 loc) Β· 10.9 KB

🎯 Testing Checklist - Complete Application Flow

Server Status

βœ… Development Server Running: http://localhost:5175/


πŸ“‹ Feature Testing Checklist

πŸ” Authentication System

Registration Flow

  • Visit /register
  • Select "Customer" role β†’ See customer-specific features listed
  • Select "Vendor" role β†’ See vendor-specific features listed
  • Select "Lender" role β†’ See lender-specific features listed
  • Fill in all required fields:
    • Full name
    • Email address
    • Password (min 8 characters)
    • Confirm password
  • Check "I agree to Terms" checkbox
  • Click "Create Account"
  • Verify redirect to appropriate dashboard based on role
  • Verify user is logged in (profile dropdown visible)

Login Flow

  • Visit /login
  • Test with demo account:
    • Click "Customer" quick login β†’ Verify redirected to home
    • Logout and click "Vendor" quick login β†’ Verify redirected to vendor dashboard
    • Logout and click "Lender" quick login β†’ Verify redirected to lender dashboard
    • Logout and click "Admin" quick login β†’ Verify redirected to admin panel
  • Test manual login:
    • Enter email: customer@sansa.com
    • Enter password: password123
    • Click "Sign in"
    • Verify successful login and redirect

Session Persistence

  • Login with any account
  • Refresh the page (F5)
  • Verify you're still logged in
  • Close browser tab
  • Reopen http://localhost:5175/
  • Verify session persists

Logout Flow

  • Login with any account
  • Click profile dropdown (top right)
  • Click "Sign out"
  • Verify redirected to login page
  • Verify user data cleared (localStorage)

🏠 Customer E-Commerce Flow

Home Page Navigation

  • Visit home page as guest
  • See login/register buttons (no profile dropdown)
  • Login as customer
  • See "Quick Access" widget below hero
  • Verify profile dropdown shows in top right
  • Browse products
  • Click on a product β†’ Navigate to detail page

Shopping Experience

  • View product detail page
  • Add product to cart
  • Verify cart badge updates (number increases)
  • Add product to wishlist
  • Verify wishlist badge updates
  • Go to /cart
  • Update quantity
  • Remove item
  • Click "Checkout"

Profile Dropdown (Customer View)

  • Click profile dropdown
  • Verify shows:
    • User name and email
    • "Customer" role badge (blue)
    • "Switch Role" section with all 4 roles
    • "Account Settings" link
    • "Sign out" button
  • Click "Account Settings" β†’ Navigate to /account

πŸͺ Vendor Dashboard Flow

Access as Vendor

  • Login as vendor (vendor@sansa.com)
  • Verify redirected to /vendor-dashboard
  • See vendor sidebar with:
    • User profile card
    • Dashboard navigation links
    • "Browse Marketplace" link at bottom

Vendor Navigation

  • Click "Dashboard" β†’ See analytics overview
  • Click "Add Product" β†’ See product form
  • Click "Manage Products" β†’ See product list
  • Click "Orders" β†’ See order list
  • Click Sansa logo β†’ Navigate to home (customer view)
  • Click "Browse Marketplace" β†’ Navigate to home

Vendor Profile Dropdown

  • Click profile dropdown
  • Verify "Vendor" role shown (purple badge)
  • Click "Vendor Dashboard" link β†’ Verify already there (no navigation)
  • Click "Switch Role" β†’ "Customer"
  • Verify immediately navigate to home
  • Switch back to Vendor role

πŸ’° Lender Dashboard Flow

Access as Lender

  • Login as lender (lender@sansa.com)
  • Verify redirected to /lender-dashboard/opportunities
  • See lender sidebar with:
    • User profile card
    • Navigation: Dashboard, Opportunities, Investments, Wallet, Analytics, Documents
    • "Browse Marketplace" link

Opportunities Marketplace

  • See "Marketplace Stats" with 6 cards
  • See opportunity cards in grid layout (max 3 columns)
  • Test filters:
    • Search by vendor name
    • Filter by loan terms (3, 6, 9, 12 months)
    • Filter by use of funds (click badges)
    • Filter by categories
  • Test sorting dropdown (11 options)
  • Switch to list view
  • Switch back to grid view
  • Click "View Details" on opportunity
  • Click "Invest" button

Lender Navigation

  • Click "Dashboard" β†’ Portfolio overview
  • Click "Opportunities" β†’ Marketplace
  • Click "Investments" β†’ Active investments
  • Click "Wallet" β†’ Capital management
  • Click "Analytics" β†’ Performance metrics (sticky header)
  • Click "Documents" β†’ Investment docs (sticky header)

Lender Profile Dropdown

  • Click profile dropdown
  • Verify "Lender" role shown (green badge)
  • Click "Lender Dashboard" link
  • Switch role to "Vendor"
  • Verify navigate to vendor dashboard

πŸ‘‘ Admin Access

Admin Login

  • Login as admin (admin@sansa.com)
  • Verify redirected to /admin
  • See admin panel
  • Profile dropdown shows "Admin" role (red badge)

Admin Multi-Role Access

  • From admin, switch to "Vendor"
  • Verify access to vendor dashboard
  • Switch to "Lender"
  • Verify access to lender dashboard
  • Switch back to "Admin"

πŸ”— Cross-Module Navigation

Quick Access Widget (Home Page)

  • Login as vendor
  • Go to home page
  • See "Quick Access" widget
  • Verify shows:
    • "Shop" card (blue)
    • "Vendor Dashboard" card (purple)
  • Click "Vendor Dashboard" β†’ Navigate to /vendor-dashboard
  • Go back to home
  • Switch role to Lender
  • Verify Quick Access now shows:
    • "Shop" card
    • "Lender Dashboard" card (green)
  • Click "Lender Dashboard" β†’ Navigate to lender opportunities

Dashboard Sidebar Links

  • From vendor dashboard, click Sansa logo β†’ Go to home
  • From vendor dashboard, click "Browse Marketplace" β†’ Go to home
  • From lender dashboard, click Sansa logo β†’ Go to home
  • From lender dashboard, click "Browse Marketplace" β†’ Go to home

Profile Dropdown Navigation

  • From any page, click profile dropdown
  • Click any dashboard link β†’ Navigate there
  • Click "Account Settings" β†’ Navigate to /account
  • Use role switcher β†’ Navigate to new role's dashboard

πŸ›‘οΈ Protected Routes

Unauthorized Access Attempts

  • Logout completely
  • Try accessing /vendor-dashboard directly
  • Verify redirected to /login
  • Try accessing /lender-dashboard directly
  • Verify redirected to /login
  • Try accessing /admin directly
  • Verify redirected to /login

Wrong Role Access

  • Login as customer
  • Try accessing /vendor-dashboard directly
  • Verify redirected to home (customer dashboard)
  • Login as vendor
  • Try accessing /lender-dashboard directly
  • Verify redirected to /vendor-dashboard

Post-Login Redirect

  • Logout
  • Try accessing /vendor-dashboard
  • Redirected to login
  • Login as vendor
  • Verify redirected back to /vendor-dashboard (not home)

πŸ“± Responsive Design

Mobile View (< 768px)

  • Resize browser to mobile width
  • Verify hamburger menu appears
  • Click hamburger β†’ Drawer opens
  • Profile dropdown in drawer
  • Cart link shows count
  • All navigation accessible
  • Close drawer (click outside or X button)

Tablet View (768px - 1024px)

  • Resize to tablet width
  • Navigation bar adapts
  • Profile dropdown works
  • Sidebar visible on dashboards
  • Quick access cards in 2 columns

Desktop View (> 1024px)

  • Full navigation visible
  • Profile dropdown in header
  • Sidebar always visible
  • Quick access cards in 3 columns
  • Opportunity cards in 3 columns max

🎨 UI/UX Verification

Visual Consistency

  • All buttons have consistent styling
  • Hover states work everywhere
  • Active states clearly visible
  • Color coding consistent:
    • Customer β†’ Blue
    • Vendor β†’ Purple
    • Lender β†’ Green
    • Admin β†’ Red
  • Transitions smooth (200ms)
  • Loading states show when needed

Typography & Spacing

  • Text readable at all sizes
  • Consistent spacing
  • Proper hierarchy
  • No text overflow
  • No layout shifts

Icons & Badges

  • Cart badge shows correct count
  • Wishlist badge updates
  • Role badges show correct colors
  • Icons consistent throughout
  • Active rule badge in auto-invest button

πŸ› Error Handling

Invalid Login

  • Try logging in with wrong password
  • See error message (red banner)
  • Error message descriptive
  • Form doesn't reset

Registration Validation

  • Try registering without email
  • See validation error
  • Try password mismatch
  • See "Passwords do not match" error
  • Try password too short (< 8 chars)
  • See minimum length error

Network Errors (Simulated)

  • Mock users already contain test data
  • Registration with existing email
  • See "User already exists" error

⚑ Performance

Load Times

  • Home page loads quickly
  • Dashboard transitions smooth
  • No lag on role switching
  • Images load progressively
  • No jank on scroll

State Management

  • Cart persists across navigation
  • Wishlist persists
  • User session persists
  • No unnecessary re-renders
  • LocalStorage updates correctly

πŸŽ‰ Success Criteria

Must Pass (Critical)

  • All demo accounts work
  • Registration creates new users
  • Protected routes block unauthorized access
  • Role switcher changes active role
  • Profile dropdown shows everywhere
  • Navigation between all modules works
  • Session persists on refresh

Should Pass (Important)

  • Quick access widget shows on home
  • Marketplace stats display correctly
  • Opportunity filters work
  • Dashboard sidebars link to home
  • Mobile navigation works
  • Error messages show

Nice to Have (Polish)

  • Smooth transitions
  • Hover effects
  • Color-coded roles
  • Badge counters
  • Loading states

πŸ“Š Test Results Template

Test Date: _____________
Tester: _______________

βœ… Authentication: ___/10 passed
βœ… Customer Flow: ___/8 passed
βœ… Vendor Flow: ___/7 passed
βœ… Lender Flow: ___/9 passed
βœ… Admin Access: ___/4 passed
βœ… Cross-Navigation: ___/12 passed
βœ… Protected Routes: ___/6 passed
βœ… Responsive: ___/6 passed
βœ… UI/UX: ___/8 passed
βœ… Error Handling: ___/5 passed
βœ… Performance: ___/4 passed

TOTAL: ___/79 tests passed

Critical Issues: _____________
Minor Issues: _______________
Notes: _____________________

πŸš€ Ready to Test!

Server: http://localhost:5175/ Start Here: Login with demo accounts or register new ones Duration: ~30 minutes for full test Browser: Chrome/Edge/Firefox (all should work)


Happy Testing! 🎊