Skip to content

Commit c37b33c

Browse files
committed
fix: resolve flaky sidebar test by awaiting deferred nav items
The test was racing against the async navigation loader. The waitFor now retries until the sidebar link actually renders instead of passing early when the route component text appears.
1 parent 988419b commit c37b33c

1 file changed

Lines changed: 7 additions & 8 deletions

File tree

packages/core/src/components/sidebar/default-sidebar.test.tsx

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -129,16 +129,15 @@ describe("DefaultSidebar auto-generation", () => {
129129
</AppShell>,
130130
);
131131

132-
await waitFor(() => {
133-
expect(screen.getAllByText("Overview").length).toBeGreaterThan(0);
132+
const overviewLink = await waitFor(() => {
133+
const sidebar = document.querySelector('[data-slot="sidebar"]')!;
134+
const links = sidebar.querySelectorAll("a");
135+
const link = Array.from(links).find((link) => link.textContent === "Overview");
136+
expect(link).toBeDefined();
137+
return link!;
134138
});
135139

136-
const sidebar = document.querySelector('[data-slot="sidebar"]')!;
137-
const links = sidebar.querySelectorAll("a");
138-
const overviewLink = Array.from(links).find((link) => link.textContent === "Overview");
139-
140-
expect(overviewLink).toBeDefined();
141-
expect(overviewLink!.className).toContain("astw:bg-sidebar-accent");
140+
expect(overviewLink.className).toContain("astw:bg-sidebar-accent");
142141
});
143142

144143
it("excludes componentless resources from sidebar links", async () => {

0 commit comments

Comments
 (0)