From 65fbeb55318a6da39ce0ef3aed3656fff9d39592 Mon Sep 17 00:00:00 2001 From: ryan-crabbe-berri Date: Tue, 11 Aug 2026 12:31:43 -0700 Subject: [PATCH] fix(ui): stub useIsOrgAdmin in UsageTab tests so useCan needs no QueryClient (#36565) 255d65192e added useCan to UsageTab, whose useIsOrgAdmin leg calls useOrganizations (react-query), so every UsageTab test died with 'No QueryClient set'. Stub the org-admin leg; role gating still flows through the real hasCapability with the varied userRole. --- .../cost-optimization/_components/UsageTab.test.tsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ui/litellm-dashboard/src/app/(dashboard)/cost-optimization/_components/UsageTab.test.tsx b/ui/litellm-dashboard/src/app/(dashboard)/cost-optimization/_components/UsageTab.test.tsx index ad68111bba7..25be956f18b 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/cost-optimization/_components/UsageTab.test.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/cost-optimization/_components/UsageTab.test.tsx @@ -13,6 +13,12 @@ vi.mock("@/app/(dashboard)/hooks/useAuthorized", () => ({ default: useAuthorizedMock, })); +// useCan reaches useOrganizations (react-query) through useIsOrgAdmin; stub the +// org-admin leg so role gating flows through hasCapability without a QueryClient +vi.mock("@/app/(dashboard)/hooks/useIsOrgAdmin", () => ({ + default: () => false, +})); + vi.mock("@/components/networking", () => ({ getToolSpend: (...args: unknown[]) => mockGetToolSpend(...args), }));