Files
2026-07-13 13:39:12 +08:00

23 lines
1.2 KiB
TypeScript

// tests/unit/build/check-complexity.test.ts
// TDD test for check-complexity.mjs: the complexity ratchet must scan the SAME first-party
// scope documented in eslint.complexity.config.mjs `files` and in complexity-baseline.json
// (src + open-sse + electron + bin). Task 6A.11 re-baselined the count claiming bin/electron
// coverage, but ESLINT_ARGS only passed src+open-sse — a fake-green gap (a god-function added
// under bin/ would pass the gate unseen). This test locks the scan scope to the documented one.
import test from "node:test";
import assert from "node:assert/strict";
import { ESLINT_ARGS } from "../../../scripts/check/check-complexity.mjs";
test("check-complexity scans the full documented scope (src, open-sse, electron, bin)", () => {
assert.ok(
ESLINT_ARGS.includes("bin"),
"ESLINT_ARGS must include 'bin' — a new god-function under bin/ must not pass the gate green",
);
assert.ok(
ESLINT_ARGS.includes("electron"),
"ESLINT_ARGS must include 'electron' to match eslint.complexity.config.mjs `files` and the baseline scope",
);
assert.ok(ESLINT_ARGS.includes("src"), "ESLINT_ARGS must include 'src'");
assert.ok(ESLINT_ARGS.includes("open-sse"), "ESLINT_ARGS must include 'open-sse'");
});