diff --git a/ui/litellm-dashboard/src/components/AIHub/forms/MakeAgentPublicForm.test.tsx b/ui/litellm-dashboard/src/components/AIHub/forms/MakeAgentPublicForm.test.tsx
index d72cfcbc037..a55beaf517f 100644
--- a/ui/litellm-dashboard/src/components/AIHub/forms/MakeAgentPublicForm.test.tsx
+++ b/ui/litellm-dashboard/src/components/AIHub/forms/MakeAgentPublicForm.test.tsx
@@ -115,7 +115,6 @@ describe("MakeAgentPublicForm", () => {
fireEvent.click(selectAllCheckbox);
});
- // Navigate to confirm step
const nextButton = screen.getByRole("button", { name: "Next" });
await act(async () => {
fireEvent.click(nextButton);
@@ -126,7 +125,6 @@ describe("MakeAgentPublicForm", () => {
expect(screen.getByText("Confirm Making Agents Public")).toBeInTheDocument();
});
- // Submit
const submitButton = screen.getByRole("button", { name: "Make Public" });
await act(async () => {
fireEvent.click(submitButton);
@@ -312,7 +310,6 @@ describe("MakeAgentPublicForm", () => {
render();
- // Navigate to confirm step
const nextButton = screen.getByRole("button", { name: "Next" });
await act(async () => {
fireEvent.click(nextButton);
@@ -322,7 +319,6 @@ describe("MakeAgentPublicForm", () => {
expect(screen.getByText("Confirm Making Agents Public")).toBeInTheDocument();
});
- // Submit
const submitButton = screen.getByRole("button", { name: "Make Public" });
await act(async () => {
fireEvent.click(submitButton);
@@ -347,7 +343,6 @@ describe("MakeAgentPublicForm", () => {
render();
- // Navigate to confirm step
const nextButton = screen.getByRole("button", { name: "Next" });
await act(async () => {
fireEvent.click(nextButton);
@@ -357,19 +352,20 @@ describe("MakeAgentPublicForm", () => {
expect(screen.getByText("Confirm Making Agents Public")).toBeInTheDocument();
});
- // Submit
const submitButton = screen.getByRole("button", { name: "Make Public" });
await act(async () => {
fireEvent.click(submitButton);
});
- // While the request is in flight the flow must not have completed
+ expectDisabledControl(submitButton);
+ await act(async () => {
+ fireEvent.click(submitButton);
+ });
expect(mockMakeAgentsPublicCall).toHaveBeenCalledTimes(1);
expect(mockProps.onSuccess).not.toHaveBeenCalled();
expect(mockProps.onClose).not.toHaveBeenCalled();
expect(screen.getByText("Confirm Making Agents Public")).toBeInTheDocument();
- // Resolve the promise
resolvePromise({});
await waitFor(() => {
expect(mockProps.onSuccess).toHaveBeenCalled();
diff --git a/ui/litellm-dashboard/src/components/AIHub/forms/MakeMCPPublicForm.test.tsx b/ui/litellm-dashboard/src/components/AIHub/forms/MakeMCPPublicForm.test.tsx
index dda6a56146a..ff385b3ed7c 100644
--- a/ui/litellm-dashboard/src/components/AIHub/forms/MakeMCPPublicForm.test.tsx
+++ b/ui/litellm-dashboard/src/components/AIHub/forms/MakeMCPPublicForm.test.tsx
@@ -138,7 +138,6 @@ describe("MakeMCPPublicForm", () => {
fireEvent.click(selectAllCheckbox);
});
- // Navigate to confirm step
const nextButton = screen.getByRole("button", { name: "Next" });
await act(async () => {
fireEvent.click(nextButton);
@@ -149,7 +148,6 @@ describe("MakeMCPPublicForm", () => {
expect(screen.getByText("Confirm Making MCP Servers Public")).toBeInTheDocument();
});
- // Submit
const submitButton = screen.getByRole("button", { name: "Make Public" });
await act(async () => {
fireEvent.click(submitButton);
@@ -329,7 +327,6 @@ describe("MakeMCPPublicForm", () => {
render();
- // Navigate to confirm step
const nextButton = screen.getByRole("button", { name: "Next" });
await act(async () => {
fireEvent.click(nextButton);
@@ -339,7 +336,6 @@ describe("MakeMCPPublicForm", () => {
expect(screen.getByText("Confirm Making MCP Servers Public")).toBeInTheDocument();
});
- // Submit
const submitButton = screen.getByRole("button", { name: "Make Public" });
await act(async () => {
fireEvent.click(submitButton);
@@ -364,7 +360,6 @@ describe("MakeMCPPublicForm", () => {
render();
- // Navigate to confirm step
const nextButton = screen.getByRole("button", { name: "Next" });
await act(async () => {
fireEvent.click(nextButton);
@@ -374,19 +369,20 @@ describe("MakeMCPPublicForm", () => {
expect(screen.getByText("Confirm Making MCP Servers Public")).toBeInTheDocument();
});
- // Submit
const submitButton = screen.getByRole("button", { name: "Make Public" });
await act(async () => {
fireEvent.click(submitButton);
});
- // While the request is in flight the flow must not have completed
+ expectDisabledControl(submitButton);
+ await act(async () => {
+ fireEvent.click(submitButton);
+ });
expect(mockMakeMCPPublicCall).toHaveBeenCalledTimes(1);
expect(mockProps.onSuccess).not.toHaveBeenCalled();
expect(mockProps.onClose).not.toHaveBeenCalled();
expect(screen.getByText("Confirm Making MCP Servers Public")).toBeInTheDocument();
- // Resolve the promise
resolvePromise({});
await waitFor(() => {
expect(mockProps.onSuccess).toHaveBeenCalled();
diff --git a/ui/litellm-dashboard/src/components/AIHub/forms/MakeModelPublicForm.test.tsx b/ui/litellm-dashboard/src/components/AIHub/forms/MakeModelPublicForm.test.tsx
index d7d3b0935dd..ac0df137f6a 100644
--- a/ui/litellm-dashboard/src/components/AIHub/forms/MakeModelPublicForm.test.tsx
+++ b/ui/litellm-dashboard/src/components/AIHub/forms/MakeModelPublicForm.test.tsx
@@ -162,7 +162,6 @@ describe("MakeModelPublicForm", () => {
fireEvent.click(selectAllCheckbox);
});
- // Navigate to confirm step
const nextButton = screen.getByRole("button", { name: "Next" });
await act(async () => {
fireEvent.click(nextButton);
@@ -173,7 +172,6 @@ describe("MakeModelPublicForm", () => {
expect(screen.getByText("Confirm Making Models Public")).toBeInTheDocument();
});
- // Submit
const submitButton = screen.getByRole("button", { name: "Make Public" });
await act(async () => {
fireEvent.click(submitButton);
@@ -345,7 +343,6 @@ describe("MakeModelPublicForm", () => {
render();
- // Navigate to confirm step
const nextButton = screen.getByRole("button", { name: "Next" });
await act(async () => {
fireEvent.click(nextButton);
@@ -355,7 +352,6 @@ describe("MakeModelPublicForm", () => {
expect(screen.getByText("Confirm Making Models Public")).toBeInTheDocument();
});
- // Submit
const submitButton = screen.getByRole("button", { name: "Make Public" });
await act(async () => {
fireEvent.click(submitButton);
@@ -380,7 +376,6 @@ describe("MakeModelPublicForm", () => {
render();
- // Navigate to confirm step
const nextButton = screen.getByRole("button", { name: "Next" });
await act(async () => {
fireEvent.click(nextButton);
@@ -390,19 +385,20 @@ describe("MakeModelPublicForm", () => {
expect(screen.getByText("Confirm Making Models Public")).toBeInTheDocument();
});
- // Submit
const submitButton = screen.getByRole("button", { name: "Make Public" });
await act(async () => {
fireEvent.click(submitButton);
});
- // While the request is in flight the flow must not have completed
+ expectDisabledControl(submitButton);
+ await act(async () => {
+ fireEvent.click(submitButton);
+ });
expect(mockMakeModelGroupPublic).toHaveBeenCalledTimes(1);
expect(mockProps.onSuccess).not.toHaveBeenCalled();
expect(mockProps.onClose).not.toHaveBeenCalled();
expect(screen.getByText("Confirm Making Models Public")).toBeInTheDocument();
- // Resolve the promise
resolvePromise({});
await waitFor(() => {
expect(mockProps.onSuccess).toHaveBeenCalled();
@@ -479,7 +475,6 @@ describe("MakeModelPublicForm", () => {
it("should show confirmation step with selected models", async () => {
render();
- // Navigate to confirm step
const nextButton = screen.getByRole("button", { name: "Next" });
await act(async () => {
fireEvent.click(nextButton);