Files
fusion/packages/dashboard/app/components/__tests__/TaskDetailModal.mock-coverage.test.ts
gsxdsm c780470378 FN-6127: stabilize dashboard test mocks and isolation
Keep dashboard component tests isolated and aligned with current shared mocks.

- restore the original WebSocket after SessionTerminal tests and switch xterm addon mocks to constructor-shaped fakes
- add missing lucide-react Workflow and Check icon mocks for TaskDetailModal helper coverage
- add a dedicated TaskDetailModal mock coverage test to catch future transitive icon mock gaps

Files changed:
 packages/dashboard/app/components/__tests__/SessionTerminal.mobile.test.tsx       |  5 ++++-
 packages/dashboard/app/components/__tests__/SessionTerminal.test.tsx              | 13 ++++++++-----
 packages/dashboard/app/components/__tests__/TaskDetailModal.mock-coverage.test.ts | 21 +++++++++++++++++++++
 packages/dashboard/app/components/__tests__/TaskDetailModal.test-helpers.ts       |  2 ++
 4 files changed, 35 insertions(+), 6 deletions(-)

Fusion-Task-Id: FN-6127

Fusion-Task-Lineage: fde5d7d6-5211-40da-9437-a3219378ce68
2026-06-09 13:57:21 -07:00

22 lines
938 B
TypeScript

import { describe, it, expect } from "vitest";
import "./TaskDetailModal.test-helpers";
// This test verifies that the shared lucide-react mock in
// TaskDetailModal.test-helpers.ts covers all icons used by
// TaskDetailModal and its transitive imports. If a new icon
// is added to any component in the import tree, this test will
// fail until the mock is updated.
describe("TaskDetailModal lucide mock coverage", () => {
it("includes WorkflowResultsTab and WorkflowSelector icons", async () => {
const lucideMock = await import("lucide-react");
expect(lucideMock.Check).toBeDefined();
expect(lucideMock.ChevronDown).toBeDefined();
expect(lucideMock.ChevronRight).toBeDefined();
expect(lucideMock.ChevronUp).toBeDefined();
expect(lucideMock.Maximize2).toBeDefined();
expect(lucideMock.Pencil).toBeDefined();
expect(lucideMock.Workflow).toBeDefined();
expect(lucideMock.X).toBeDefined();
});
});