import { describe, expect, it } from "vitest"; import { expandedStateFor, isFullyExpanded } from "@/lib/expansion"; import { makeView } from "@/tests/fixtures"; describe("canvas expansion", () => { it("expands every round, implementation branch, and retrieval agent", () => { const view = makeView(2, 2, 1, "running"); const expanded = expandedStateFor(view); expect([...expanded.rounds]).toEqual([1, 2]); expect([...expanded.branches]).toEqual(["1:1", "1:2", "2:1", "2:2"]); expect(expanded.retrievalAgents.size).toBe(8); expect(isFullyExpanded(view, expanded.rounds, expanded.branches, expanded.retrievalAgents)).toBe(true); }); it("is not fully expanded when an inner retrieval agent is folded", () => { const view = makeView(1, 1, 1, "running"); const expanded = expandedStateFor(view); expanded.retrievalAgents.clear(); expect(isFullyExpanded(view, expanded.rounds, expanded.branches, expanded.retrievalAgents)).toBe(false); }); });