feat(FN-3472): expand org chart regression test assertions

The merge adds expanded regression assertions for the org chart feature, covering agent CSS classes and mobile agents view components. The tests verify styling and layout behavior across both desktop and mobile contexts.

Fusion-Task-Id: FN-3472
This commit is contained in:
Fusion
2026-05-05 07:05:09 -07:00
committed by gsxdsm
parent b8a32f8765
commit 0bc75914e8
7 changed files with 321 additions and 6 deletions

View File

@@ -0,0 +1,43 @@
import { describe, expect, it } from "vitest";
import type { OrgTreeNode } from "../../api";
import { estimateOrgChartWidth, resolveOrgChartLayoutMode } from "../agentsOrgChartLayout";
function makeNode(id: string, children: OrgTreeNode[] = []): OrgTreeNode {
return {
agent: {
id,
name: id,
role: "executor",
state: "active",
createdAt: new Date().toISOString(),
updatedAt: new Date().toISOString(),
metadata: {},
},
children,
};
}
describe("agentsOrgChartLayout", () => {
it("returns horizontal when estimated width fits", () => {
const tree = [makeNode("root", [makeNode("child")])];
const width = estimateOrgChartWidth(tree);
expect(resolveOrgChartLayoutMode({ tree, availableWidth: width + 1 })).toBe("horizontal");
});
it("returns vertical when estimated width exceeds available width", () => {
const tree = [
makeNode("root", [
makeNode("a", [makeNode("a1"), makeNode("a2")]),
makeNode("b", [makeNode("b1"), makeNode("b2")]),
]),
makeNode("root-2", [makeNode("c"), makeNode("d")]),
];
expect(resolveOrgChartLayoutMode({ tree, availableWidth: 400 })).toBe("vertical");
});
it("stays horizontal for single-root trees and zero-width measurement", () => {
const tree = [makeNode("solo", [makeNode("child-1"), makeNode("child-2")])];
expect(resolveOrgChartLayoutMode({ tree, availableWidth: 0 })).toBe("horizontal");
expect(resolveOrgChartLayoutMode({ tree, availableWidth: 120 })).toBe("horizontal");
});
});