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:
@@ -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,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user