[chore] Add manual smoke test plan for pre-deploy verification - #228
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
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 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. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
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.mdwith 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.
| | 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 | |
There was a problem hiding this comment.
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.
| 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`. |
| | `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. |
There was a problem hiding this comment.
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.
| - 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. |
There was a problem hiding this comment.
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.
| 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". |
There was a problem hiding this comment.
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.
|
|
||
| ## 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. |
There was a problem hiding this comment.
Resolved — supabase/seed-data.ts was added by PR #197 which merged after this review. The maintenance reference is now valid.
|
|
||
| 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". |
There was a problem hiding this comment.
Fixed — added the leading slash so it's now /event/multi-tiered-clothing-workshop-tX19iW, consistent with other URLs in the doc.
75aa1f1 to
6ebaf98
Compare
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>
6ebaf98 to
26bc201
Compare
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 ine2e/*.spec.tsbut 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:Tests
DAFBD0,259A0E,72800A,80DE84) verified to resolve against the current local DB.Notes
feature/database-seedingbranch (noted inline). Once Add database seeding infrastructure #197 lands, the "depends on" line in Pre-flight can be removed.AI Metadata
Author-Agent: claude
Review-Status: ready
Review-Claimed-By: