From e0f67f1edd5d86921a27c88267ac55389b5b6e69 Mon Sep 17 00:00:00 2001 From: Fusion Date: Wed, 13 May 2026 17:00:06 -0700 Subject: [PATCH] =?UTF-8?q?test(FN-4328):=20complete=20Step=203=20?= =?UTF-8?q?=E2=80=94=20update=20modal=20button=20expectations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fusion-Task-Id: FN-4328 Fusion-Task-Lineage: 32d20417-4e86-4fb5-9be9-72d98aaf0761 --- .../__tests__/NewTaskModal.test.tsx | 47 +++---------------- 1 file changed, 7 insertions(+), 40 deletions(-) diff --git a/packages/dashboard/app/components/__tests__/NewTaskModal.test.tsx b/packages/dashboard/app/components/__tests__/NewTaskModal.test.tsx index d0d96539a..49e81d2a4 100644 --- a/packages/dashboard/app/components/__tests__/NewTaskModal.test.tsx +++ b/packages/dashboard/app/components/__tests__/NewTaskModal.test.tsx @@ -74,8 +74,6 @@ function renderNewTaskModal(props = {}) { tasks: [] as Task[], onCreateTask: vi.fn().mockResolvedValue({ id: "FN-001" }), addToast: vi.fn(), - onPlanningMode: vi.fn(), - onSubtaskBreakdown: vi.fn(), }; const mergedProps = { ...defaultProps, ...props }; const result = render(); @@ -125,8 +123,9 @@ describe("NewTaskModal", () => { expect(screen.getByText("New Task")).toBeTruthy(); expect(screen.getByRole('textbox')).toBeTruthy(); - expect(screen.getByRole("button", { name: "Plan" })).toBeTruthy(); - expect(screen.getByRole("button", { name: "Subtask" })).toBeTruthy(); + expect(screen.queryByRole("button", { name: "Plan" })).toBeNull(); + expect(screen.queryByRole("button", { name: "Subtask" })).toBeNull(); + expect(screen.queryByTestId("task-form-description-actions")).toBeNull(); // Dependencies and agent are in quick-fields — visible by default (no toggle needed) expect(screen.getByTestId("dep-trigger")).toBeInTheDocument(); @@ -291,14 +290,6 @@ describe("NewTaskModal", () => { }); }); - it("has working Plan button for AI-assisted creation", () => { - const onPlanningMode = vi.fn(); - renderNewTaskModal({ onPlanningMode }); - - // The Plan button should be present and disabled when no description - const planButton = screen.getByRole("button", { name: "Plan" }); - expect(planButton).toBeTruthy(); - }); it("shows success toast after creation", async () => { const { props } = renderNewTaskModal({ @@ -360,35 +351,14 @@ describe("NewTaskModal", () => { }); }); - // Plan mode tests - using Plan button instead of checkbox - it("calls onPlanningMode when Plan button is clicked with description", async () => { - const onPlanningMode = vi.fn(); - const { props } = renderNewTaskModal({ onPlanningMode }); - - const descTextarea = screen.getByRole('textbox'); - fireEvent.change(descTextarea, { target: { value: "Build a login system" } }); - - // Wait for models to load - await waitFor(() => { - expect(screen.getByRole("button", { name: "Plan" })).not.toBeDisabled(); - }); - - fireEvent.click(screen.getByRole("button", { name: "Plan" })); - - await waitFor(() => { - expect(onPlanningMode).toHaveBeenCalledWith("Build a login system"); - }); - }); + it("calls onCreateTask when form is submitted", async () => { + const { props } = renderNewTaskModal(); - it("calls onCreateTask normally when form is submitted", async () => { - const onPlanningMode = vi.fn(); - const { props } = renderNewTaskModal({ onPlanningMode }); - const descTextarea = screen.getByRole('textbox'); fireEvent.change(descTextarea, { target: { value: "Normal task" } }); - + fireEvent.click(screen.getByRole("button", { name: "Create Task" })); - + await waitFor(() => { expect(props.onCreateTask).toHaveBeenCalledWith( expect.objectContaining({ @@ -396,12 +366,9 @@ describe("NewTaskModal", () => { }), ); }); - - expect(onPlanningMode).not.toHaveBeenCalled(); }); - it("disables Create Task when description is empty", () => { renderNewTaskModal();