test(orders): stop integration files racing on the shared test database

The integration suite shares one personal_test database and helpers.resetDB()
TRUNCATEs it with CASCADE, which reaches expense_metadata via the transactions
FK. With file parallelism on, queries.test.ts and participants.test.ts were
truncating rows out from under order-ingestion.test.ts mid-test, so a different
set of assertions failed on every run — including I6 (credits), I7
(idempotency) and I11 ([Family]), the three invariants the suite exists to
prove. Serialise the files.

Suite was reported 31/31 green; observed 29/31 then 28/31 on consecutive runs.
Now 31/31 on three consecutive runs.
This commit is contained in:
2026-07-26 19:50:21 +10:00
parent 775e5cc08f
commit 9f168cf4c8
+5
View File
@@ -20,5 +20,10 @@ export default defineConfig({
environment: "node", environment: "node",
include: ["src/__tests__/integration/**/*.test.ts"], include: ["src/__tests__/integration/**/*.test.ts"],
pool: "forks", pool: "forks",
// Every integration file shares the one `personal_test` database, and
// helpers.resetDB() TRUNCATEs it (CASCADE reaches expense_metadata).
// Run files one at a time so a sibling's reset cannot delete rows another
// file just inserted — that raced non-deterministically across I6/I7/I11.
fileParallelism: false,
}, },
}); });