From 7ef3d1e7e370fa72539ffeadea6bb80b57b860f5 Mon Sep 17 00:00:00 2001 From: jesus Date: Tue, 8 Sep 2026 15:38:44 +0000 Subject: [PATCH] test(ui): query Projects nav link by role instead of container in leftnav tests Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .../src/components/leftnav.test.tsx | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/ui/litellm-dashboard/src/components/leftnav.test.tsx b/ui/litellm-dashboard/src/components/leftnav.test.tsx index 44b186762d7..bcb4243497f 100644 --- a/ui/litellm-dashboard/src/components/leftnav.test.tsx +++ b/ui/litellm-dashboard/src/components/leftnav.test.tsx @@ -609,15 +609,18 @@ describe("Sidebar (leftnav)", () => { it("hides Projects from a plain internal user", () => { mockUseAuthorized.mockReturnValue(internalAuth); - const { container } = renderWithProviders(); - expect(container.querySelector('a[href*="projects"]')).toBeNull(); + renderWithProviders(); + expect(screen.queryByRole("link", { name: "Projects" })).not.toBeInTheDocument(); }); it("shows Projects to an internal user who administers a team", () => { mockUseAuthorized.mockReturnValue(internalAuth); teamAdminState.isTeamAdmin = true; - const { container } = renderWithProviders(); - expect(container.querySelector('a[href*="projects"]')).toHaveTextContent("Projects"); + renderWithProviders(); + expect(screen.getByRole("link", { name: "Projects" })).toHaveAttribute( + "href", + expect.stringContaining("projects"), + ); }); it("shows Projects to an internal user who administers an organization", () => { @@ -627,8 +630,11 @@ describe("Sidebar (leftnav)", () => { isLoading: false, error: null, }); - const { container } = renderWithProviders(); - expect(container.querySelector('a[href*="projects"]')).toHaveTextContent("Projects"); + renderWithProviders(); + expect(screen.getByRole("link", { name: "Projects" })).toHaveAttribute( + "href", + expect.stringContaining("projects"), + ); }); });