import { render, screen } from "@testing-library/react"; import { describe, it, expect, vi } from "vitest"; import { WidgetRenderer } from "./WidgetRenderer"; import type { WidgetPlacement } from "@mosaic/shared"; vi.mock("@/components/widgets", () => ({ TasksWidget: ({ id }: { id: string }): React.JSX.Element =>
Tasks Widget {id}
, CalendarWidget: ({ id }: { id: string }): React.JSX.Element =>
Calendar Widget {id}
, QuickCaptureWidget: ({ id }: { id: string }): React.JSX.Element => (
Quick Capture Widget {id}
), AgentStatusWidget: ({ id }: { id: string }): React.JSX.Element => (
Agent Status Widget {id}
), OrchestratorEventsWidget: ({ id }: { id: string }): React.JSX.Element => (
Orchestrator Events Widget {id}
), })); function createWidgetPlacement(id: string): WidgetPlacement { return { i: id, x: 0, y: 0, w: 2, h: 2, }; } describe("WidgetRenderer", () => { it("renders hyphenated quick-capture widget IDs correctly", () => { render(); expect(screen.getByText("Quick Capture Widget quick-capture-123")).toBeInTheDocument(); }); it("renders hyphenated agent-status widget IDs correctly", () => { render(); expect(screen.getByText("Agent Status Widget agent-status-123")).toBeInTheDocument(); }); it("renders hyphenated orchestrator-events widget IDs correctly", () => { render(); expect( screen.getByText("Orchestrator Events Widget orchestrator-events-123") ).toBeInTheDocument(); }); });