test.coordination/core/coordinators/invocation.coordinator.test.ts
test.coordination/core/coordinators/invocation.coordinator.test.ts is a file in Codebase Testing. 43 lines of code and 0 definitions.
import { describe, it } from "vitest";
import {
extract,
surfaceRaise,
transition,
} from "coordination-surface/tools/core/coordinators/invocation.coordinator.ts";
import { EXTRACT_NEEDS_BODY } from "coordination-surface/tools/core/strings/board.strings.ts";
import { SEAT_STATES } from "coordination-surface/tools/core/runners/index.runner.ts";
import assert from "node:assert/strict";
import { declaredSubjects } from "coordination-surface/tools/core/runners/surface.runner.ts";
import { subjectUndeclared } from "coordination-surface/tools/core/strings/surface.strings.ts";
import { unknownState } from "coordination-surface/tools/core/strings/index.strings.ts";
const withArgv = function withArgv<T>(argv: readonly string[], read: () => T): T {
const held = process.argv;
process.argv = ["node", "board.entrypoint.ts", ...argv];
try {
return read();
} finally {
process.argv = held;
}
};
const INVOCATION = { absolute: "", caller: "A", target: "" };
describe("the archive, surface and index forms", () => {
it("answer nothing without their flag, and refuse before writing when an operand is missing or undeclared", () => {
withArgv([], () => {
assert.equal(extract(), null);
assert.equal(surfaceRaise(), null);
assert.equal(transition(INVOCATION), null);
});
assert.deepEqual(
withArgv(["--extract", "lost-update"], () => extract()),
{ code: 2, message: EXTRACT_NEEDS_BODY },
);
assert.deepEqual(
withArgv(["--model", "undeclared-probe"], () => surfaceRaise()),
{ code: 2, message: subjectUndeclared("undeclared-probe", declaredSubjects()) },
);
assert.deepEqual(
withArgv(["--transition", "GONE"], () => transition(INVOCATION)),
{ code: 2, message: unknownState("GONE", SEAT_STATES) },
);
});
});