Conversation
Add a Playwright end-to-end suite (separate from Vitest; zero-env build +
Vitest gates stay green and independent of Playwright) covering the critical
flows, plus an optional non-blocking `e2e` CI job modeled on `rls-isolation`.
Flows: public storefront + real-auth gating; terminal half-and-half build →
place order → payment → receipt + staff PIN switch; KDS bump; online shop
pickup + delivery → tracking; back-office reports + 86/un-86; signup onboarding.
Real-auth specs read E2E_* creds from env and skip gracefully when absent
(no passwords in the repo).
Bugs found and fixed:
- Payment screen showed "Charge $0.00"/disabled after placing an order: the
checkout's initial GET /api/payments raced the fire-and-forget order flush and
hit a transient 404. use-checkout.refresh() now retries on 404 before erroring.
- 86'ing a menu item in the back office made it vanish from the editor with no
way to un-86: the manager rendered the customer-assembled (filtered) menu.
Added getMenu(..., { includeUnavailable }) to PosDriver + both drivers and the
admin menu route now requests it; customer reads unchanged.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
… flip CTA to Continue) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…flaky) The signup→Connect step is reliable locally + on previews but its first cold POST /api/connect intermittently stalls on the GitHub runner (CTA never flips). Skip only in CI (force with E2E_RUN_ONBOARDING=1); all other flows run in CI. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a Playwright end-to-end suite for the POS critical flows, runs it against the app, and fixes the two real bugs it found. The E2E suite is separate from Vitest; the zero-env build + Vitest gates stay green and independent of Playwright. A new optional/non-blocking
e2eCI job (modeled onrls-isolation) builds the app and runs the suite — it never gates the PR.Flows covered (
e2e/*.spec.ts)/shop/<slug>reachable without auth; real-auth only: unauth/admin→/login,/platform→/platform/login, owner login→/admin, platform admin→/platform(skip in simulated mode).E2E_RUN_ONBOARDING=1+ throwaway name against a real deploy).Local run (mock/simulated, zero env): 9 passed, 4 skipped (real-auth specs skip without creds).
Bugs found and fixed (app code)
GET /api/paymentsraced a transient 404 and left the balance at 0. Fix:src/lib/store/use-checkout.tsrefresh()retries on 404 before erroring.getMenu(..., { includeUnavailable })toPosDriver+ both drivers; the admin menu route requests it. Customer reads (/api/menu,/api/shop/*) unchanged.Both keep the zero-env build + Vitest (122 tests) green.
How to run
Plan:
plans/quattro-formaggi-71024-e2e-qa.md.🤖 Generated with Claude Code