You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
test(integration): no skipped tests, and fail the run if any appear
A skipped test reads exactly like a passing one. Every silent hole this suite
has found took that shape, and the skips it was itself carrying hid one more.
**The bug the skips were hiding.** `dbVariant()` inferred the database from the
presence of `PGRST_URL`. The new Drizzle `db=supabase` cell needs no PostgREST
and left it unset, so the variant reported `postgres`: EQL installed WITHOUT
`--supabase`, the role grants were never applied, and the grants test quietly
did not run. The suite passed because Drizzle connects as `postgres`, never as
`anon`. The variant is now explicit (`CS_IT_DB_VARIANT`) in both workflows, and
the inference survives only as a documented fallback for a hand-run suite.
**The skips are gone**, all ten:
- The eight per-family "defers <domain>" notices were `it.skip`. They asserted
nothing. `domainsForFamily` already excludes deferred domains, and
`test-kit-families.test.ts` asserts — as a PASSING test — that the excluded
set is exactly the nine block-ORE domains, each with a reason.
- The two harness gates were `it.runIf`. They are now single tests that assert
both branches: on Supabase the three roles exist and hold the `eql_v3` and
`eql_v3_internal` grants; on plain Postgres those roles do not exist at all,
which is a fact worth stating and makes the variant claim falsifiable.
PostgREST is asserted on its own axis (`PGRST_URL` set) rather than on the
variant — conflating "is this Supabase" with "is PostgREST up" is what made
`dbVariant()` lie.
**And a guard so they cannot come back.** `no-skips-reporter.ts` fails the
integration run if any test is skipped, naming each one. Verified: adding a
single `it.skip` exits 1.
Scoped to the integration config. The unit suites still carry the `LIVE_*` gates
and their 16 skips; working those out is a separate change.
Verified on all three CI cells, each 0 skipped, 0 failed:
drizzle / postgres 619 passed
drizzle / supabase 619 passed
supabase / supabase 665 passed
0 commit comments