The e2e suite ran against the development database and nothing truncated it. Every run seeded more fixtures and left them, so the unfiltered storefront grew monotonically — 1,662 items by the time #186 was filed — until rendering it outran the assertions' timeouts. It failed locally, passed in CI where the database is fresh, and got steadily worse, which is the combination nobody can act on. start-local.ps1 -E2eDb runs the stack against a separate container on a separate port with tmpfs storage, so it starts empty every time. Migrations already run on every start, so an empty volume is a working one. The development database is untouched, so anything set up there by hand survives. Deliberately a third database rather than sharing either existing one. The integration suite truncates between tests, so an e2e run sharing with it would have its fixtures deleted underneath it (#116) — different container, different port, different credentials, so the mistake is impossible rather than discouraged. Verified by recreating the database from the compose file, confirming it came up with zero items, and running the full suite against it: 157 of 157. An earlier attempt at this reported 23 passed and 53 not run, which was worthless — a stale backend from a previous run still held port 3000 and was talking to a database I had already deleted. The port is checked before the run now, and the same mistake produced a wrong rate-limiter measurement earlier in this work. Pagination is the other half of #186 and is filed separately: a shop that renders its whole catalogue in one page is worth fixing on its own merits, not as a side effect of a test fix. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
36 lines
1.1 KiB
Plaintext
Executable File
36 lines
1.1 KiB
Plaintext
Executable File
node_modules/
|
|
dist/
|
|
frontend/dist/
|
|
backend/dist/
|
|
*.log
|
|
.DS_Store
|
|
uploads/
|
|
coverage/
|
|
playwright-report/
|
|
test-results/
|
|
.env
|
|
.superpowers/
|
|
# Logs, pids and uploads written by scripts/start-local.ps1
|
|
.local/
|
|
.scannerwork/
|
|
.nyc_output/
|
|
|
|
# Test result JSON, written by the CI test steps for the summarize scripts and
|
|
# by anyone running the same commands locally. Regenerated every run.
|
|
backend/unit-results.json
|
|
backend/integration-results.json
|
|
frontend/playwright-results.json
|
|
|
|
# drizzle-kit pull writes the schema mirror into backend/src/db-drizzle (see
|
|
# backend/drizzle.config.ts), but `out` is also where it would put generated
|
|
# migrations and their journal. This project's migration history is
|
|
# backend/migrations — hand-written, and mostly prose. #219 has not chosen
|
|
# otherwise, so a stray 0000_*.sql in src/ is at best noise and at worst
|
|
# mistaken for real migration history. Keep the mirror, drop the rest.
|
|
backend/src/db-drizzle/*.sql
|
|
backend/src/db-drizzle/meta/
|
|
|
|
# Where an end-to-end run against the throwaway database writes its uploads.
|
|
# Disposable with the database it belongs to (#186).
|
|
backend/.e2e-uploads/
|