test.coordination/core/coordinators/venue.coordinator.test.ts
test.coordination/core/coordinators/venue.coordinator.test.ts is a file in Codebase Testing. 54 lines of code and 0 definitions.
import {
ARRIVE_NOT_VENUE,
RETRACT_NOT_VENUE,
raiseRefused,
relocateNotVenue,
retireNotPlanning,
} from "coordination-surface/tools/core/strings/venue.strings.ts";
import { arrive, relocate, retire, retract } from "coordination-surface/tools/core/coordinators/venue.coordinator.ts";
import { describe, it } from "vitest";
import assert from "node:assert/strict";
import { join } from "node:path";
import { tmpdir } from "node:os";
const NOTES = "notes.md";
const INVOCATION = { absolute: join(tmpdir(), "coordination-absent", NOTES), caller: "A", target: NOTES };
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 refused = (reason: string): { code: number; message: string; raised: null } => ({
code: 2,
message: raiseRefused(reason),
raised: null,
});
describe("the venue forms", () => {
it("answer nothing when their flag is absent, and hand their operands to the runner when it is present", () => {
withArgv([], () => {
assert.equal(relocate(), null);
assert.equal(retire(), null);
assert.equal(retract(INVOCATION), null);
assert.equal(arrive(INVOCATION), null);
});
assert.deepEqual(
withArgv(["--relocate", NOTES], () => relocate()),
refused(relocateNotVenue(NOTES)),
);
assert.deepEqual(
withArgv(["--retire", NOTES], () => retire()),
refused(retireNotPlanning(NOTES)),
);
assert.deepEqual(
withArgv(["--retract", "a clause"], () => retract(INVOCATION)),
refused(RETRACT_NOT_VENUE),
);
assert.deepEqual(
withArgv(["--arrive"], () => arrive(INVOCATION)),
refused(ARRIVE_NOT_VENUE),
);
});
});