test(settings): prove the wipe against real Postgres, and state what deletion means

The defect is about rows that survive, so a mocked client proves nothing. The
new integration test seeds a row into every table in the schema, driven by
information_schema and pg_constraint rather than a fixture, runs the wipe and
asks the database what is left. A table added later is seeded and asserted
without anyone remembering to.

It holds all four halves: nothing in the wipe list survives, everything in the
exemption list does, everything reached only by a database cascade is gone,
and the account row comes back reset but able to sign in. A second file pins
the allergy and checkup-reminder deletes actually removing their row.

The reproductive-health note gains a Deletion section. It taught people to
reason carefully about a host being imaged and never said what pressing
delete does; now it says which of the three deletions removes the row and
which only hides it.
This commit is contained in:
Marc-André Bombeck committed 2026-07-26 14:04:44 +02:00
1 parent 5e66ebaa54
commit dccd2f320b
8 files changed
+678 -7

No files matched your search

+1 -1
View File
@@ -169,7 +169,7 @@ describe("data-wipe completeness", () => {
}
const orphans = [...models]
.filter(([name, shape]) => !shape.scalars.includes("userId"))
.filter(([, shape]) => !shape.scalars.includes("userId"))
.map(([name]) => name)
.filter(
(name) =>