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)
-
-
+
+
>
}
>