import { describe, it, expect, vi } from "vitest";
import { render, screen } from "@testing-library/react";
import { ProjectHealthBadge } from "../ProjectHealthBadge";
import type { ProjectHealth, ProjectStatus } from "@fusion/core";
vi.mock("lucide-react", () => ({
Play: () => ▶,
Pause: () => ⏸,
AlertCircle: () => ⚠,
Loader2: () => ⟳,
}));
function makeHealth(overrides: Partial = {}): ProjectHealth {
return {
projectId: "proj_abc123",
status: "active",
activeTaskCount: 2,
inFlightAgentCount: 1,
totalTasksCompleted: 10,
totalTasksFailed: 0,
updatedAt: "2026-01-01T00:00:00.000Z",
...overrides,
};
}
describe("ProjectHealthBadge", () => {
it("renders a fallback badge for unknown or missing statuses", () => {
expect(() => {
render(
<>
>
);
}).not.toThrow();
expect(screen.getByText("Removing")).toBeDefined();
expect(screen.getByText("Unknown")).toBeDefined();
expect(screen.getAllByTestId("alert-icon")).toHaveLength(2);
});
});