feat(FN-3952): expose full mesh state aggregation and fix graph selection b

Exposed full mesh state aggregation via mesh routes with corresponding tests, refined the dependency graph to decouple node selection from opening task details, and documented the new aggregation API.

Fusion-Task-Id: FN-3952
This commit is contained in:
Fusion
2026-05-10 14:37:30 -07:00
committed by gsxdsm
parent 05fe4208a7
commit 6c7bd76839
9 changed files with 185 additions and 59 deletions

View File

@@ -87,7 +87,7 @@ describe("DependencyGraph highlighting", () => {
expect(screen.getByTestId("graph-task-node-A").className).toContain("graph-task-node--highlighted");
});
it("applies edge dimming/highlighting and preserves click-to-detail", () => {
it("applies edge dimming/highlighting and preserves double-click-to-detail", () => {
const onOpenDetail = vi.fn();
render(<DependencyGraph tasks={tasks} onOpenDetail={onOpenDetail} />);
@@ -99,7 +99,7 @@ describe("DependencyGraph highlighting", () => {
expect(edgeAB?.className.baseVal || edgeAB?.className).toContain("graph-edge--highlighted");
expect(edgeCB?.className.baseVal || edgeCB?.className).toContain("graph-edge--highlighted");
fireEvent.click(screen.getByTestId("task-C"));
fireEvent.doubleClick(screen.getByTestId("graph-task-node-C"));
expect(onOpenDetail).toHaveBeenCalledTimes(1);
expect(onOpenDetail).toHaveBeenCalledWith(expect.objectContaining({ id: "C" }));
});