Skip to content

Manual Testing Guide

README.md / E2E-TESTING.md

Ostatnia aktualizacja: 2026-02-24


1. Login

  • [ ] Go to /auth (login page)
  • [ ] Enter your email
  • [ ] Check your email for the magic link
  • [ ] Click the link - you should be redirected to the dashboard (/)
  • [ ] Check if the top menu shows your email
  • [ ] Click "Logout" - you should be redirected back to /auth

2. DevTestPanel - Access

Development (local testing): - [ ] The panel should always be visible on the dashboard (/)

Production: - [ ] Without special URL parameter → panel is hidden - [ ] With ?devtest=enabled but your email is not in the allowed list → panel is hidden - [ ] With ?devtest=enabled and your email is in the allowed list → panel is visible


3. DevTestPanel - API Keys Operations

  • [ ] In DevTestPanel, find section "API KEYS OPERATIONS"
  • [ ] Create API Key:
  • [ ] Enter a name (optional) in the text field
  • [ ] Click CREATE
  • [ ] You should see a success toast with full response JSON
  • [ ] Check "Last Response" section - should show the created key data
  • [ ] List API Keys:
  • [ ] Click FETCH LIST
  • [ ] You should see a table with all your API keys (name, usage count, expiry)
  • [ ] Check "Last Response" section - should show full response JSON
  • [ ] Get Stats:
  • [ ] Click FETCH STATS
  • [ ] You should see stats displayed (active keys, total API calls, remaining calls)
  • [ ] Check "Last Response" section - should show full response JSON
  • [ ] Delete API Key:
  • [ ] Select a key from the dropdown
  • [ ] Click DELETE
  • [ ] Confirm deletion in the dialog
  • [ ] You should see a success toast with full response JSON
  • [ ] The key should disappear from the list

4. DevTestPanel - Integration Endpoints

  • [ ] In DevTestPanel, find section "INTEGRATION ENDPOINTS"
  • [ ] Increase API Key Usage:
  • [ ] Select an API key from the dropdown
  • [ ] Enter a count (e.g., 5)
  • [ ] Click INCREASE
  • [ ] You should see a success toast with full response JSON
  • [ ] Check "Last Response" section - should show { success: true, message: "..." }
  • [ ] Check "Current Stats" table - "Total API Calls (Global)" should increase
  • [ ] Increase Tryon Usage:
  • [ ] Enter a count (e.g., 3)
  • [ ] Click INCREASE TRYON
  • [ ] You should see a success toast with full response JSON
  • [ ] If limit exceeded, check for warnings in the response
  • [ ] Check "Last Response" section - should show { success: true, message: "...", warnings?: [...] }
  • [ ] Check "Current Stats" table - "Tryons Used (Period)" should increase
  • [ ] Set Product Number:
  • [ ] Enter a value (e.g., 10, or 0 for no products)
  • [ ] Click SET COUNT
  • [ ] You should see a success toast with full response JSON
  • [ ] If limit exceeded, check for warnings in the response
  • [ ] Check "Last Response" section - should show { success: true, message: "...", warnings?: [...] }
  • [ ] Check "Current Stats" table - "Products Used" should show the new value

5. DevTestPanel - Panel Collapse/Expand

  • [ ] The DevTestPanel should be wrapped in an Accordion (MUI)
  • [ ] Click the expand/collapse icon to collapse the panel
  • [ ] The panel should collapse smoothly
  • [ ] Click again to expand - all sections should be visible

6. Activity Page

  • [ ] Perform an action (create/delete an API key or change plan)
  • [ ] Click "Activity" in the top menu (or go to /activity)
  • [ ] You should see a new entry with timestamp and description
  • [ ] Check if the activity shows:
  • Key name (if you named the key) or last characters of the key
  • Plan labels (e.g., "Free" instead of just "free")
  • Timestamp of when it happened

7. API Keys Management

  • [ ] On the dashboard, click Create API Key
  • [ ] Enter a name (optional) and click Create
  • [ ] The new key should appear in the table
  • [ ] Mobile test: Make the browser window smaller - the table should scroll horizontally
  • [ ] Click Delete on a key
  • [ ] The key should disappear from the table
  • [ ] Go to Activity page - you should see entries for create/delete

8. Stripe Customer Portal

  • [ ] On the dashboard, find the "Plan Status" card
  • [ ] Click "Manage subscription"
  • [ ] Stripe Customer Portal should open in a new window
  • [ ] You should see options to:
  • Cancel subscription
  • Change plan
  • View invoices
  • Manage payment methods

9. Error Handling

  • [ ] In DevTestPanel, try invalid operations:
  • [ ] Try to increase API key usage with invalid key → should show error toast
  • [ ] Try to set product number with negative value → should show validation error
  • [ ] Try to increase tryon usage with count = 0 → should show validation error
  • [ ] All errors should show clear, user-friendly messages in toast notifications
  • [ ] Check "Last Response" section - should show error response JSON

10. Smart Login Flow (Onboarding)

Flag OFF (default): - [ ] Login → dashboard directly (no redirect to /onboarding) - [ ] Navigate to /onboarding → redirect to / - [ ] POST /api/v1/user/complete-onboarding → 409 (disabled)

Flag ON (toggle in admin panel): - [ ] New user → login → redirect to /onboarding → choose AI/AR → redirect to dashboard - [ ] Paid user (backfilled) → login → dashboard directly (no onboarding) - [ ] Free user without preference → login → redirect to /onboarding - [ ] Navigate to /activity without onboarding → redirect to /onboarding - [ ] Navigate to /onboarding with preference already set → redirect to / - [ ] Network error during submit → error message displayed, can retry - [ ] Check Slack: "Onboarding Completed" event with preference and visit history - [ ] Check audit log entry for ONBOARDING_COMPLETED

Runtime toggle (no deploy): - [ ] Toggle ON→OFF → user with null preference sees dashboard immediately - [ ] Toggle OFF→ON → user with null preference sees /onboarding


Development: - Dashboard: http://localhost:4000/ - With DevTestPanel: http://localhost:4000/?devtest=enabled - Activity: http://localhost:4000/activity - Pricing: http://localhost:4000/pricing

Production: - Dashboard: https://dash.wearfits.com/ - Activity: https://dash.wearfits.com/activity


Last updated: 2026-01-21