diff --git a/ui/litellm-dashboard/src/app/(dashboard)/users/_components/user_edit_view.test.tsx b/ui/litellm-dashboard/src/app/(dashboard)/users/_components/user_edit_view.test.tsx index f1a7f5e42d0..d06267ffed6 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/users/_components/user_edit_view.test.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/users/_components/user_edit_view.test.tsx @@ -231,10 +231,25 @@ describe("UserEditView", () => { renderWithProviders(); await waitFor(() => { - expect(screen.getByLabelText("Unlimited Budget")).toBeInTheDocument(); + expect(screen.getByRole("checkbox", { name: "Unlimited Budget" })).toBeInTheDocument(); }); }); + it("should check unlimited budget when clicking its visible text", async () => { + renderWithProviders(); + + await waitFor(() => { + expect(screen.getByRole("spinbutton", { name: /max budget/i })).toBeEnabled(); + }); + + await userEvent.click(screen.getByText("Unlimited Budget")); + + await waitFor(() => { + expect(screen.getByRole("checkbox", { name: "Unlimited Budget" })).toBeChecked(); + }); + expect(screen.getByRole("spinbutton", { name: /max budget/i })).toBeDisabled(); + }); + it("should set unlimited budget checkbox when max_budget is null", async () => { const userDataWithNullBudget = { ...MOCK_USER_DATA, @@ -247,7 +262,7 @@ describe("UserEditView", () => { renderWithProviders(); await waitFor(() => { - const checkbox = screen.getByLabelText("Unlimited Budget"); + const checkbox = screen.getByRole("checkbox", { name: "Unlimited Budget" }); expect(checkbox).toBeChecked(); }); }); @@ -282,10 +297,10 @@ describe("UserEditView", () => { renderWithProviders(); await waitFor(() => { - expect(screen.getByLabelText("Unlimited Budget")).toBeInTheDocument(); + expect(screen.getByRole("checkbox", { name: "Unlimited Budget" })).toBeInTheDocument(); }); - const checkbox = screen.getByLabelText("Unlimited Budget"); + const checkbox = screen.getByRole("checkbox", { name: "Unlimited Budget" }); await userEvent.click(checkbox); await waitFor(() => { @@ -400,7 +415,7 @@ describe("UserEditView", () => { const budgetInput = screen.getByRole("spinbutton", { name: /max budget/i }); await userEvent.clear(budgetInput); - const checkbox = screen.getByLabelText("Unlimited Budget"); + const checkbox = screen.getByRole("checkbox", { name: "Unlimited Budget" }); expect(checkbox).not.toBeChecked(); const submitButton = screen.getByRole("button", { name: /save changes/i }); @@ -416,10 +431,10 @@ describe("UserEditView", () => { renderWithProviders(); await waitFor(() => { - expect(screen.getByLabelText("Unlimited Budget")).toBeInTheDocument(); + expect(screen.getByRole("checkbox", { name: "Unlimited Budget" })).toBeInTheDocument(); }); - const checkbox = screen.getByLabelText("Unlimited Budget"); + const checkbox = screen.getByRole("checkbox", { name: "Unlimited Budget" }); await userEvent.click(checkbox); await waitFor(() => { @@ -494,7 +509,7 @@ describe("UserEditView", () => { renderWithProviders(); await waitFor(() => { - const checkbox = screen.getByLabelText("Unlimited Budget"); + const checkbox = screen.getByRole("checkbox", { name: "Unlimited Budget" }); expect(checkbox).toBeChecked(); }); }); diff --git a/ui/litellm-dashboard/src/app/(dashboard)/users/_components/user_edit_view.tsx b/ui/litellm-dashboard/src/app/(dashboard)/users/_components/user_edit_view.tsx index 0aebdf69575..5612f5cd5f6 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/users/_components/user_edit_view.tsx +++ b/ui/litellm-dashboard/src/app/(dashboard)/users/_components/user_edit_view.tsx @@ -256,14 +256,10 @@ export function UserEditView({ label={ <> Max Budget (USD) - - + + } >