refactor(webui): use shared organization explorer tree
This commit is contained in:
24
webui/scripts/test-organizations-tree-structure.mjs
Normal file
24
webui/scripts/test-organizations-tree-structure.mjs
Normal file
@@ -0,0 +1,24 @@
|
||||
import { readFileSync } from "node:fs";
|
||||
|
||||
function assert(condition, message) {
|
||||
if (!condition) throw new Error(message);
|
||||
}
|
||||
|
||||
const source = readFileSync(
|
||||
new URL("../src/features/organizations/OrganizationsPage.tsx", import.meta.url),
|
||||
"utf8"
|
||||
);
|
||||
const styles = readFileSync(
|
||||
new URL("../src/styles/organizations.css", import.meta.url),
|
||||
"utf8"
|
||||
);
|
||||
|
||||
assert(source.includes("ExplorerTree,"), "Organizations imports the central ExplorerTree");
|
||||
assert(source.includes("<ExplorerTree"), "the organization hierarchy uses ExplorerTree");
|
||||
assert(source.includes("collapsible={false}"), "the always-expanded hierarchy uses the non-collapsible contract");
|
||||
assert(source.includes("renderNodeActions="), "per-unit controls use the sibling node-action slot");
|
||||
assert(source.includes("<IconButton"), "per-unit controls use the central icon-only action primitive");
|
||||
assert(!source.includes("renderUnitTreeNodes"), "the custom recursive renderer was removed");
|
||||
assert(!source.includes("organizations-tree-row"), "the custom tree row was removed");
|
||||
assert(!source.includes("organizations-tree-node"), "the custom tree node was removed");
|
||||
assert(!styles.includes("organizations-tree-"), "Organizations no longer owns shared tree styling");
|
||||
Reference in New Issue
Block a user