Skip to content

Latest commit

 

History

History
134 lines (107 loc) · 3.43 KB

File metadata and controls

134 lines (107 loc) · 3.43 KB

VotePack — Manual QA Checklist

Phase 1 — Shell — Manual QA

Setup

  1. Run python scripts/setup.py
  2. Run npm run dev
  3. Open http://localhost:5173

Test Cases

TC-1-01: Homepage renders correctly Steps:

  1. Open http://localhost:5173
  2. Observe the page Expected: Dark navy background, "Stop arguing. Start voting. Just go." headline, two CTAs ("Create a Trip" primary button, "Join a Trip" secondary button), 3 feature cards below fold Status: [ ] Pass [ ] Fail Notes:

TC-1-02: Create Trip form — validation Steps:

  1. Click "Create a Trip"
  2. Leave all fields empty and click "Create Trip →" Expected: Red error messages appear under Trip name and Destination fields; form does not submit Status: [ ] Pass [ ] Fail Notes:

TC-1-03: Create Trip — successful submission Steps:

  1. Go to http://localhost:5173/create
  2. Enter: Trip name = "Test Trip 🌴", Destination = "Bali, Indonesia", Start = 2026-06-01, End = 2026-06-07, Travelers = 5
  3. Click "Create Trip →" Expected: Page redirects to /trip/[6-char-code]/dashboard; sidebar shows "Test Trip 🌴", "Bali, Indonesia", correct dates Status: [ ] Pass [ ] Fail Notes:

TC-1-04: Trip persists after refresh Steps:

  1. Create a trip (TC-1-03)
  2. Note the URL: /trip/[CODE]/dashboard
  3. Refresh the browser (F5) Expected: Dashboard still shows the same trip data; no white screen or "Trip not found" Status: [ ] Pass [ ] Fail Notes:

TC-1-05: Join Trip — invalid code Steps:

  1. Go to http://localhost:5173/join
  2. Enter code "XXXXXX" (any non-existent code) and name "Priya"
  3. Click "Join Trip →" Expected: Red error message: "Trip not found. Check the code and try again." Status: [ ] Pass [ ] Fail Notes:

TC-1-06: Join Trip — valid code Steps:

  1. Create a trip and note the 6-char code
  2. Go to http://localhost:5173/join
  3. Enter the correct code and name "Priya"
  4. Click "Join Trip →" Expected: Redirects to /trip/[CODE]/dashboard; "Priya" appears in the member list in the sidebar Status: [ ] Pass [ ] Fail Notes:

TC-1-07: Join via URL parameter Steps:

  1. Create a trip and note the code
  2. Navigate directly to http://localhost:5173/join/[CODE] Expected: Join page loads with the trip code pre-filled in the code input Status: [ ] Pass [ ] Fail Notes:

TC-1-08: Dashboard — trip info in sidebar Steps:

  1. Create a trip with known details
  2. View the dashboard Expected: Sidebar shows trip name, destination, date range, member count (e.g., "1/4"), countdown badge, trip code widget Status: [ ] Pass [ ] Fail Notes:

TC-1-09: Trip code copy button Steps:

  1. On the dashboard, click "Copy link" in the trip code widget Expected: A URL like http://localhost:5173/join/[CODE] is copied to clipboard; button briefly shows "Copied!" Status: [ ] Pass [ ] Fail Notes:

TC-1-10: Unknown route redirects home Steps:

  1. Navigate to http://localhost:5173/this-does-not-exist Expected: Redirects to the homepage (/) Status: [ ] Pass [ ] Fail Notes:

TC-1-11: Trip not found page Steps:

  1. Navigate to http://localhost:5173/trip/ZZZZZZ/dashboard (non-existent code) Expected: "Trip not found" message with a "Go home" button Status: [ ] Pass [ ] Fail Notes:

TC-1-12: validate.py passes Steps:

  1. Run python scripts/validate.py Expected: All three checks pass:
  • ✓ All required files present
  • ✓ .gitignore correctly excludes instruction files
  • ✓ Build passed Status: [ ] Pass [ ] Fail Notes: