| name | test-site |
| description | Run browser-based smoke tests against the running Humans site using the Claude Code Chrome extension. Argument: all | smoke | auth | profile | consent | teams | admin | gdpr | i18n | [url] |
| argument-hint | all | smoke | auth | profile | consent | teams | admin | gdpr | i18n | [url] |
Browser Test Suite for Humans
Prerequisites
- Site running at
http://localhost:5000 or https://localhost:5001
- Chrome extension connected (
/chrome to check)
- Logged in with an Admin-role Google account for full coverage
Step 1: Fetch live test plan
Navigate to {base_url}/.well-known/test-plan.txt. If it loads, use it as the authoritative plan (overrides defaults below). Fall back to built-in suites on 404 or if site isn't running.
Step 2: Determine base URL
Try http://localhost:5000, then https://localhost:5001. If neither works, tell the user the site isn't running.
If $ARGUMENTS is a URL, navigate to it and report what you see — done.
Step 3: Run test suites
Run suites matching $ARGUMENTS (default: all). Report PASS/FAIL after each step; stop a suite on first FAIL and continue to next.
smoke
/health → returns "Healthy"
/ → home page loads
/Profile → profile loads
/Teams → team list loads
/Consent → consent page loads
- Check browser console for JS errors
auth
- Home page loads without errors
- Logged in: profile link visible in nav; click it, confirm profile loads with user data
- Not logged in: note it — most other suites require auth
profile
/Profile → name, contact fields, team memberships visible
/Profile/Edit → form loads with current values; fields present: Burner Name, First/Last Name, Pronouns, City, Country, Bio, Birthday (month/day); contact fields section with "Add" button; volunteer history section
- Make a minor edit (e.g., Bio), submit, verify change appears, then undo it
/Profile/Emails → email addresses with visibility controls
consent
/Consent → documents grouped by team
- If any show "Pending", click "Review"; verify: document title + content, language tabs (min: Spanish), consent checkbox, "Give Consent" button
- Check the checkbox → no browser validation error
- Uncheck and try to submit → localized validation message appears (NOT browser default "Please check this box if you want to proceed")
- Do NOT submit — click "Back to List"
teams
/Teams → cards with team names and member counts
- Click any non-system team → name, description, member list with roles (Lead/Member), Google resources section
/Teams/My → user's memberships
/Teams/Map → loads (OK if "No API key" — just no crash)
/Teams/Birthdays → birthday calendar for current month
admin
Requires Admin or Board role.
/Admin → dashboard with metric cards + recent activity
/Admin/Humans → member list loads; search box works
- Click any member → profile info, role assignments, consent records, audit log entries
/Admin/Teams → team list, system teams marked
/Admin/Roles → current role assignments (Admin, Board, Lead)
/Legal/Admin/Documents → document list
/Admin/AuditLog → entries load; filter by action type works
/Admin/Configuration → config status shown, no secrets exposed
/hangfire → dashboard loads with scheduled jobs
gdpr
/Profile/Privacy → page loads
- "Export My Data" button exists; click it → JSON file downloads with profile data
- "Request Account Deletion" button exists — do NOT click it
i18n
For each language (en, es, fr, de, it): switch via nav/footer selector; check /Profile, /Consent, /Teams labels are translated (no raw English keys like Profile_FieldName). Switch back to user's preferred language when done.
Step 4: Report results
| Suite | Result | Notes |
|----------|--------|-------|
| auth | PASS | |
| ... | ... | ... |
For failures: expected vs actual, screenshot/DOM state if relevant. End with X/Y suites passed.