test.coordination/core/resolvers/board.resolver.test.ts
test.coordination/core/resolvers/board.resolver.test.ts is a file in Codebase Testing. 32 lines of code and 0 definitions.
import { activeLetters, compareSpans, dropItemSpan } from "coordination-surface/tools/core/resolvers/board.resolver.ts";
import { describe, it } from "vitest";
import assert from "node:assert/strict";
const ITEM = ["┌─── AGENT A-1 · judgment ───", "To B — read the draft.", "└─── END AGENT A-1"];
const BOARD = ["# Board", "Agent A — ACTIVE", ...ITEM, "Agent B — INACTIVE", "Agent C"].join("\n");
describe("activeLetters", () => {
it("reads the seats active on the board, or the ones the index allocates when it allocates any", () => {
assert.deepEqual([...activeLetters(BOARD, "")], ["A", "C"]);
assert.deepEqual([...activeLetters(BOARD, "| C | graph | INACTIVE |\n| B | doc | ACTIVE |")], ["B"]);
});
});
describe("dropItemSpan", () => {
it("removes an item's fenced span and reports how much it removed, and answers null for an unknown item", () => {
const dropped = dropItemSpan(BOARD, "A-1");
assert.ok(dropped !== null);
assert.equal(dropped.text, ["# Board", "Agent A — ACTIVE", "Agent B — INACTIVE", "Agent C"].join("\n"));
assert.equal(dropped.removed, ITEM.join("\n").length);
assert.equal(dropItemSpan(BOARD, "Z-9"), null);
});
});
describe("compareSpans", () => {
it("names the lines added to and removed from an agent's span since it was read", () => {
const witness = BOARD.replace("To B — read the draft.", "To B — read the second draft.");
assert.deepEqual(compareSpans(BOARD, witness, "A-1"), {
added: ["To B — read the second draft."],
overlapping: true,
removed: ["To B — read the draft."],
});
assert.deepEqual(compareSpans(BOARD, BOARD, "A-1"), { added: [], overlapping: false, removed: [] });
assert.equal(compareSpans(BOARD, "# empty", "A-1").overlapping, true);
});
});