fix(FN-1349): add tests for resume/start button on terminated agents

This commit is contained in:
gsxdsm
2026-04-09 10:15:48 -07:00
parent de0ffbaa7e
commit 6232b38937
2 changed files with 33 additions and 0 deletions

View File

@@ -458,10 +458,34 @@ describe("AgentDetailView", () => {
);
await waitFor(() => {
expect(screen.getByText("Start")).toBeInTheDocument();
expect(screen.getByText("Delete")).toBeInTheDocument();
});
});
it("shows Start button for terminated agent", async () => {
mockFetchAgent.mockResolvedValue(createMockAgent({ state: "terminated" }));
mockUpdateAgentState.mockResolvedValue(createMockAgent({ state: "active" }));
render(
<AgentDetailView
agentId="agent-001"
onClose={vi.fn()}
addToast={vi.fn()}
/>
);
await waitFor(() => {
expect(screen.getByText("Start")).toBeInTheDocument();
});
await userEvent.click(screen.getByText("Start"));
await waitFor(() => {
expect(mockUpdateAgentState).toHaveBeenCalledWith("agent-001", "active", undefined);
});
});
it("shows Delete button for idle agent", async () => {
mockFetchAgent.mockResolvedValue(createMockAgent({ state: "idle" }));

View File

@@ -581,6 +581,15 @@ describe("AgentListModal", () => {
const deleteButtons = screen.getAllByTitle("Delete");
expect(deleteButtons.length).toBeGreaterThanOrEqual(2);
});
// Verify Start button appears for terminated agent (agent-004)
const agentCards = document.querySelectorAll(".agent-card");
let terminatedCard: Element | null = null;
agentCards.forEach(card => {
if (card.textContent?.includes("agent-004")) terminatedCard = card;
});
const terminatedStartBtn = terminatedCard?.querySelector('[title="Start"]');
expect(terminatedStartBtn).toBeTruthy();
});
it("confirms before deleting agent", async () => {