Skip to content

Commit

Permalink
test(tree-view): add more test cases
Browse files Browse the repository at this point in the history
  • Loading branch information
metonym committed Dec 8, 2024
1 parent d7158ce commit becb150
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 1 deletion.
11 changes: 10 additions & 1 deletion tests/TreeView/TreeView.test.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
let treeview: TreeView;
let activeId: TreeNodeId = "";
let selectedIds: TreeNodeId[] = [];
let expandedIds: TreeNodeId[] = [1];
let expandedIds: TreeNodeId[] = [];
let nodes: ComponentProps<TreeView>["nodes"] = [
{ id: 0, text: "AI / Machine learning", icon: Analytics },
{
Expand Down Expand Up @@ -81,3 +81,12 @@
</TreeView>

<Button on:click={treeview.expandAll}>Expand all</Button>
<Button
on:click={() => {
treeview.expandNodes((node) => {
return /^IBM/.test(node.text);
});
}}
>
Expand some nodes
</Button>
36 changes: 36 additions & 0 deletions tests/TreeView/TreeView.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,16 @@ describe("TreeView", () => {
});
};

const noExpandedItems = () => {
expect(screen.queryAllByRole("treeitem", { expanded: true })).toHaveLength(
0,
);
};

const getAllExpandedItems = () => {
return screen.getAllByRole("treeitem", { expanded: true });
};

it("can select a node", async () => {
const consoleLog = vi.spyOn(console, "log");

Expand All @@ -37,4 +47,30 @@ describe("TreeView", () => {
text: "AI / Machine learning",
});
});

it("can expand all nodes", async () => {
render(TreeView);

noExpandedItems();

const expandAllButton = screen.getByText("Expand all");
await user.click(expandAllButton);

expect(getAllExpandedItems()).toHaveLength(5);
});

it("can expand some nodes", async () => {
render(TreeView);

noExpandedItems();

const expandSomeNodesButton = screen.getByText("Expand some nodes");
await user.click(expandSomeNodesButton);

expect(getAllExpandedItems()).toHaveLength(2);

expect(
screen.getByText("IBM Analytics Engine").parentNode?.parentNode,
).toHaveAttribute("aria-expanded", "true");
});
});

0 comments on commit becb150

Please sign in to comment.