Skip to content

[chore] Add manual smoke test plan for pre-deploy verification - #228

Merged
harryden merged 1 commit into
mainfrom
chore/smoke-test-plan
May 25, 2026
Merged

harryden merged 1 commit into
mainfrom
chore/smoke-test-plan

Conversation

@harryden

Copy link
Copy Markdown
Owner

Summary

HAR-247 follow-up. Adds SMOKE_TEST.md — a structured manual checklist to run in a browser before any production deploy. Mirrors the flows in e2e/*.spec.ts but exercises them against real local Supabase + LinkedIn OAuth, so it catches things the mocked e2e suite can't (provider config drift, callback URL mismatches, RLS, real data shape).

Changes

  • SMOKE_TEST.md (new) at repo root with:
    • Pre-flight steps (dev-local.sh + npm run db:seed).
    • A test data table listing deterministic seeded event codes/slugs.
    • 10 numbered flows covering: landing, 404, auth gate redirect, sign-in card, LinkedIn OAuth round-trip, dashboard persistence, create event, join by short code, check-in + roster, organizer CSV export.
    • Each flow specifies action / expected / pass-fail criteria.
    • "When something fails" reporting block and a maintenance note pointing back at the e2e suite as source of truth.

Tests

  • Manually walked through Pre-flight, sections 1-4, 6 against the locally seeded DB while writing the doc.
  • Section 5 (LinkedIn OAuth) requires a clean Chrome profile; not re-run for this PR but the exact failure modes called out match what we hit while unblocking HAR-247.
  • Section 7-10 reference seeded data; deterministic short codes (DAFBD0, 259A0E, 72800A, 80DE84) verified to resolve against the current local DB.

Notes

AI Metadata

Author-Agent: claude
Review-Status: ready
Review-Claimed-By:

Copilot AI review requested due to automatic review settings May 25, 2026 12:53
@vercel

vercel Bot commented May 25, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
linked-list Ready Ready Preview, Comment May 25, 2026 1:12pm

@coderabbitai

coderabbitai Bot commented May 25, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@harryden, we couldn't start this review because you've used your available PR reviews for now.

Your plan includes 1 review of capacity. Refill in 30 minutes and 10 seconds.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more review capacity refills, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than trial, open-source, and free plans. In all cases, review capacity refills continuously over time.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 5c507420-f776-4204-8fa7-32333b1687b3

📥 Commits

Reviewing files that changed from the base of the PR and between 36988b3 and 26bc201.

📒 Files selected for processing (2)
  • DEV.md
  • SMOKE_TEST.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/smoke-test-plan

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new root-level SMOKE_TEST.md manual smoke-test checklist intended to be run in a browser before production deploys, complementing the existing Playwright E2E suite by covering real local Supabase + LinkedIn OAuth behavior.

Changes:

  • Introduces SMOKE_TEST.md with pre-flight setup, deterministic test-data references, and 10 end-to-end verification flows.
  • Documents pass/fail criteria per flow plus a “when something fails” reporting checklist.
  • Adds maintenance notes tying the checklist back to seeding and e2e/critical-flows.spec.ts.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread SMOKE_TEST.md Outdated
Comment on lines +21 to +26
| Short code | Slug | Event name | Organizer | Attendees | Use for |
| ---------- | ----------------------------------------- | -------------------------------- | ---------------- | --------- | ---------------------- |
| `DAFBD0` | `programmable-industrial-workshop-5Qn3Td` | Programmable Industrial Workshop | Christina Hayes | 5 | Join + check-in |
| `259A0E` | `centralized-electronics-mixer-560VfZ` | Centralized Electronics Mixer | Mary Ondricka MD | 15 | Roster scrolling |
| `72800A` | `automated-industrial-dinner-pq7nvI` | Automated Industrial Dinner | Mary Ondricka MD | 12 | Organizer view + CSV |
| `80DE84` | `open-source-games-dinner-XuKtAA` | Open-source Games Dinner | Christina Hayes | 9 | Spare / regression bug |

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Already a single | on header/separator/data rows on my read of the file — view source shows | Short code | Slug | style throughout. Possibly a Copilot rendering quirk on the diff view. No change needed.

Comment thread SMOKE_TEST.md Outdated
Comment on lines +12 to +14
npm run db:seed
```
Depends on the seeder from PR #197 (`feature/database-seeding`); once that's on main this step is just `npm run db:seed`.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Resolved — PR #197 merged after this review was written, so db:seed is now in package.json on main and the pre-flight 'depends on PR #197' caveat was dropped in a later fixup on this branch.

Comment thread SMOKE_TEST.md Outdated
| `72800A` | `automated-industrial-dinner-pq7nvI` | Automated Industrial Dinner | Mary Ondricka MD | 12 | Organizer view + CSV |
| `80DE84` | `open-source-games-dinner-XuKtAA` | Open-source Games Dinner | Christina Hayes | 9 | Spare / regression bug |

If the codes don't resolve, the seed didn't run against a clean DB. Wipe with `psql ... -c "TRUNCATE TABLE public.feedback, public.attendances, public.events CASCADE; DELETE FROM public.profiles; DELETE FROM auth.users;"` and re-seed.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed — replaced the psql ... -c ellipsis with a concrete fenced code block using the local Supabase connection params (-h 127.0.0.1 -p 54322 -U postgres -d postgres + PGPASSWORD=postgres) plus the follow-up npm run db:seed. Copy-pasteable now.

Comment thread SMOKE_TEST.md Outdated
Comment on lines +158 to +160
- Browser downloads a file named `<event-slug>-attendees.csv` (e.g. `automated_industrial_dinner-attendees.csv`).
- Toast confirms the export.
- Opening the CSV in a text editor shows one header row + one row per attendee with name / linkedin_id columns.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed — Section 10 now references the event-NAME → underscore-sanitized filename (per src/lib/export.ts:65, not the slug as I'd written) and lists the correct CSV headers Name,Headline,LinkedIn URL,Check-in Date (matching exportAttendeesToCSV in the same file). Thanks for catching this — would have failed verification on the first run.

Comment thread SMOKE_TEST.md Outdated
Comment on lines +152 to +154
This needs the organizer of one of the seeded events. The seeder doesn't sign you in as an organizer automatically — to test this, **either** sign in as Christina Hayes / Mary Ondricka MD by inserting an auth.identity that links to one of their profile UUIDs (advanced), **or** create a new event yourself (step 7) so you're the organizer of it. Then visit that event:

**Action:** Open the event you organize (or `event/automated-industrial-dinner-pq7nvI` if you've manually claimed organizer access). Open the options menu (three-dots or similar) and click "Export CSV".

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed — added the explicit prerequisite to Section 10: 'have a second signed-in account check in to it (so attendeeRecords.length > 0) before returning as organizer' and noted that the menu item only appears with ≥1 attendee. Newly-created event with zero attendees would have silently failed otherwise.

Comment thread SMOKE_TEST.md

## Maintenance

- When the seeder changes (`supabase/seed-data.ts`), re-run on a fresh DB and update the test data table at the top of this doc with any new codes/slugs.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Resolved — supabase/seed-data.ts was added by PR #197 which merged after this review. The maintenance reference is now valid.

Comment thread SMOKE_TEST.md Outdated

This needs the organizer of one of the seeded events. The seeder doesn't sign you in as an organizer automatically — to test this, **either** sign in as Christina Hayes / Mary Ondricka MD by inserting an auth.identity that links to one of their profile UUIDs (advanced), **or** create a new event yourself (step 7) so you're the organizer of it. Then visit that event:

**Action:** Open the event you organize (or `event/automated-industrial-dinner-pq7nvI` if you've manually claimed organizer access). Open the options menu (three-dots or similar) and click "Export CSV".

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed — added the leading slash so it's now /event/multi-tiered-clothing-workshop-tX19iW, consistent with other URLs in the doc.

HAR-247 follow-up. Mirrors the flows in `e2e/*.spec.ts` (landing, 404,
auth gate, sign-in card, create event, check-in, CSV export) but
exercised against real local Supabase + LinkedIn OAuth so it catches
issues mocks can't: provider config, RLS, callback URLs, real data
shape.

Includes deterministic short codes / slugs pulled from a freshly
seeded local DB (faker.seed(123) makes them reproducible) so the
checklist is immediately runnable once the seeder from PR #197 lands.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@harryden
harryden force-pushed the chore/smoke-test-plan branch from 6ebaf98 to 26bc201 Compare May 25, 2026 13:12
@harryden
harryden merged commit 00468fe into main May 25, 2026
6 checks passed
@harryden
harryden deleted the chore/smoke-test-plan branch May 25, 2026 13:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants