The integration vitest config fails the run if any test is skipped
(packages/stack/integration/no-skips-reporter.ts), on the principle that a
skipped test reads exactly like a passing one and every silent coverage hole this
project has found took that shape. The unit config
(packages/stack/vitest.config.ts) has no such guard.
Goal
Wire the no-skips reporter (or an equivalent) into the unit vitest config so a
.skip/.skipIf/.todo in the unit suite fails CI.
Prerequisite: eliminate or justify the remaining unit skips
The unit run currently reports a handful of skipped tests (~5 last observed), so
turning the guard on today would go red. Before enabling it:
- Audit the remaining
describe.skip/it.skip/skipIf in packages/stack/__tests__/**.
- For each, either make it run unconditionally and throw loudly when
unconfigured (the model the integration suites and the LIVE_* gate removal
already adopted), or move it to the integration suite if it genuinely needs a
database/PostgREST.
- Note the credential-gated cases: some suites need CS credentials or
DATABASE_URL and currently skip when absent — decide per suite whether they
belong in unit (throw loudly, CI provides creds) or integration.
Done when
- No
.skip/.todo survives in the unit suite (or each is converted to a loud throw / relocated).
- The unit vitest config runs the no-skips reporter and a stray skip fails CI.
Context: session follow-up on the 1.0 candidate (#535); mirrors the integration
suite's loud-failure model.
The integration vitest config fails the run if any test is skipped
(
packages/stack/integration/no-skips-reporter.ts), on the principle that askipped test reads exactly like a passing one and every silent coverage hole this
project has found took that shape. The unit config
(
packages/stack/vitest.config.ts) has no such guard.Goal
Wire the no-skips reporter (or an equivalent) into the unit vitest config so a
.skip/.skipIf/.todoin the unit suite fails CI.Prerequisite: eliminate or justify the remaining unit skips
The unit run currently reports a handful of skipped tests (~5 last observed), so
turning the guard on today would go red. Before enabling it:
describe.skip/it.skip/skipIfinpackages/stack/__tests__/**.unconfigured (the model the integration suites and the LIVE_* gate removal
already adopted), or move it to the integration suite if it genuinely needs a
database/PostgREST.
DATABASE_URLand currently skip when absent — decide per suite whether theybelong in unit (throw loudly, CI provides creds) or integration.
Done when
.skip/.todosurvives in the unit suite (or each is converted to a loud throw / relocated).Context: session follow-up on the 1.0 candidate (#535); mirrors the integration
suite's loud-failure model.