Files
fusion/packages/dashboard/app/components/__tests__/TaskVerificationStatus.test.tsx

29 lines
1.2 KiB
TypeScript

import { render, screen } from "@testing-library/react";
import { describe, expect, it } from "vitest";
import type { TaskVerificationRequest } from "@fusion/core";
import { TaskVerificationStatus } from "../TaskVerificationStatus";
const base: TaskVerificationRequest = {
taskId: "FN-8296",
requestId: "request-1",
profile: "verify:fast",
command: "pnpm verify:fast",
scope: "workspace",
requestedBy: "chat",
requestedAt: "2026-07-30T00:00:00.000Z",
status: "requested",
};
describe("TaskVerificationStatus", () => {
it("renders nothing without a request", () => {
const { container } = render(<TaskVerificationStatus request={null} />);
expect(container.firstChild).toBeNull();
});
it.each(["requested", "running", "passed", "failed", "rejected"] as const)("renders the %s lifecycle state", (status) => {
render(<TaskVerificationStatus request={{ ...base, status, ...(status === "rejected" ? { rejectionReason: "Worktree unavailable" } : {}) }} />);
expect(screen.getByTestId("task-verification-status")).toHaveClass(`task-verification-status--${status}`);
expect(screen.getByText(status, { exact: true })).toBeInTheDocument();
});
});