veritas-kanban/scripts/run-coverage.test.mjs
Brad Groux 93e946693d
test: establish critical-path coverage ratchets (#1183)
* test: add critical-path coverage ratchets

* fix: harden coverage ratchet enforcement

* fix: fetch coverage comparison history

* fix: close coverage policy downgrade paths

* fix: verify changed critical statements

* fix: ignore non-executable coverage changes

* fix: distinguish mixed type-only coverage edits

* fix: classify coverage changes by runtime output

* fix: enforce runtime-significant whitespace changes

* fix: classify multiline coverage changes as hunks

* fix: group equal-line coverage rewrites
2026-08-23 13:48:41 -05:00

81 lines
2.7 KiB
JavaScript

import assert from 'node:assert/strict';
import test from 'node:test';
import { coverageCommands, coverageEnvironment, parsePackageSelection } from './run-coverage.mjs';
const policy = {
packages: [
{
id: 'server',
runner: {
maxWorkers: 2,
extraArgs: ['--testTimeout=30000'],
testFiles: ['src/__tests__/provider-runtime.test.ts'],
},
},
{
id: 'web',
runner: {
extraArgs: ['--testTimeout=15000'],
testFiles: ['src/__tests__/useWebSocket.test.ts'],
},
},
{ id: 'desktop' },
],
};
test('defaults to every applicable workspace and rejects unknown packages', () => {
const available = ['server', 'web', 'desktop'];
assert.deepEqual(parsePackageSelection([], available), available);
assert.deepEqual(parsePackageSelection(['--packages=web,server,web'], available), [
'web',
'server',
]);
assert.throws(() => parsePackageSelection(['--packages', 'unknown'], available), /Unknown/);
});
test('builds shared first and emits isolated machine-readable and HTML reports', () => {
const commands = coverageCommands(policy, ['web', 'desktop']);
assert.deepEqual(commands[0], ['--filter', '@veritas-kanban/shared', 'build']);
assert.equal(commands.length, 3);
const web = commands[1].join(' ');
assert.match(web, /--filter @veritas-kanban\/web/);
assert.match(web, /--coverage\.reporter=json(?: |$)/);
assert.match(web, /--coverage\.reporter=json-summary/);
assert.match(web, /--coverage\.reporter=html/);
assert.match(web, /--coverage\.reportsDirectory=\.\.\/coverage\/web/);
assert.match(web, /--testTimeout=15000/);
assert.match(web, /src\/__tests__\/useWebSocket\.test\.ts/);
const server = coverageCommands(policy, ['server'])[1].join(' ');
assert.match(server, /--maxWorkers=2/);
assert.match(server, /--testTimeout=30000/);
assert.match(server, /src\/__tests__\/provider-runtime\.test\.ts/);
assert.match(commands[2].join(' '), /--coverage\.reportsDirectory=\.\.\/coverage\/desktop/);
});
test('removes every live integration opt-in from the coverage environment', () => {
const environment = coverageEnvironment({
PATH: '/bin',
HERMES_SMOKE_TEST: 'true',
VERITAS_CLAUDE_CODE_SMOKE: '1',
VERITAS_CODEX_APP_SERVER_SMOKE: '1',
VERITAS_RUN_NATIVE_SANDBOX_SMOKE: '1',
VK_MCP_INTEGRATION_TEST: '1',
});
assert.equal(environment.PATH, '/bin');
assert.equal(environment.NODE_ENV, 'test');
assert.equal(environment.VERITAS_DISABLE_WATCHERS, '1');
for (const key of [
'HERMES_SMOKE_TEST',
'VERITAS_CLAUDE_CODE_SMOKE',
'VERITAS_CODEX_APP_SERVER_SMOKE',
'VERITAS_RUN_NATIVE_SANDBOX_SMOKE',
'VK_MCP_INTEGRATION_TEST',
]) {
assert.equal(environment[key], undefined);
}
});