test.coordination/core/strings/venue.strings.test.ts
test.coordination/core/strings/venue.strings.test.ts is a file in Codebase Testing. 74 lines of code and 0 definitions.
import {
arrivalContended,
arrivalSettled,
arriveSectionEmpty,
defersAlready,
inheritContended,
markerContended,
raiseDestinationTaken,
raiseNotAdmissible,
raiseOrdinalMissing,
raiseSuccessorUndeclared,
raiseUnbound,
recordAdded,
recordAnchorMissing,
recordContended,
recordExists,
recordSurfaceMissing,
recordTemplateEmpty,
recordTemplateMissing,
relocateMismatch,
retireContended,
rosterContended,
successorContended,
successorDeclared,
successorSectionMissing,
} from "coordination-surface/tools/core/strings/venue.strings.ts";
import { describe, it } from "vitest";
import assert from "node:assert/strict";
type Case = readonly [string, readonly (number | string)[]];
const VENUE = "probe.01.blocking.md";
const SUCCESSOR = "next.02.blocking.md";
const unnamed = function unnamed(cases: readonly Case[]): string[] {
return cases.flatMap(([message, operands]) =>
operands.map(String).flatMap((operand) => (message.includes(operand) ? [] : [`${message} lacks ${operand}`])),
);
};
describe("the record messages", () => {
it("name the surface, the seat, the kind and the fields", () => {
const cases: Case[] = [
[recordSurfaceMissing(VENUE), [VENUE]],
[recordExists("A", VENUE), ["A", VENUE]],
[recordTemplateMissing("venue"), ["venue"]],
[recordTemplateEmpty("board"), ["board"]],
[recordAnchorMissing(VENUE), [VENUE]],
[recordContended(VENUE), [VENUE]],
[recordAdded("A", VENUE, ["Needs", "Durable"]), ["A", VENUE, 2, "Needs", "Durable"]],
];
assert.deepEqual(unnamed(cases), []);
});
});
describe("the venue lifecycle messages", () => {
it("name the venue, the invariant, the seats and the counts", () => {
const cases: Case[] = [
[successorSectionMissing(VENUE), [VENUE]],
[successorContended(VENUE), [VENUE]],
[successorDeclared(VENUE, "next"), [VENUE, "next"]],
[defersAlready(VENUE, 2), [VENUE, 2]],
[markerContended(VENUE), [VENUE]],
[arrivalSettled(VENUE, SUCCESSOR), [VENUE, SUCCESSOR]],
[arriveSectionEmpty(SUCCESSOR), [SUCCESSOR]],
[arrivalContended(SUCCESSOR), [SUCCESSOR]],
[rosterContended(VENUE), [VENUE]],
[inheritContended(VENUE), [VENUE]],
[retireContended("checklists/index.checklist.md"), ["checklists/index.checklist.md"]],
[relocateMismatch(VENUE), [VENUE]],
[raiseNotAdmissible("later", ["next", "other"]), ["later", "next", "other"]],
[raiseSuccessorUndeclared([VENUE]), [VENUE]],
[raiseOrdinalMissing("next"), ["next"]],
[raiseDestinationTaken(SUCCESSOR), [SUCCESSOR]],
[raiseUnbound(["Z"]), ["Z"]],
];
assert.deepEqual(unnamed(cases), []);
});
});