diff --git a/src/components/__tests__/LayoutEditor.test.tsx b/src/components/__tests__/LayoutEditor.test.tsx index fb53039..df7ff60 100644 --- a/src/components/__tests__/LayoutEditor.test.tsx +++ b/src/components/__tests__/LayoutEditor.test.tsx @@ -22,8 +22,7 @@ vi.mock("@dnd-kit/core", async (importOriginal) => { useSensor: vi.fn(() => ({})), useDroppable: ({ id }: { id: string }) => ({ setNodeRef: vi.fn(), - // eslint-disable-next-line @typescript-eslint/no-explicit-any - isOver: (window as any).mockIsOverId === id, + isOver: (window as unknown as { mockIsOverId?: string }).mockIsOverId === id, }), PointerSensor: vi.fn(), KeyboardSensor: vi.fn(), @@ -58,16 +57,16 @@ const defaultLayout: CardLayout = { }; describe("LayoutEditor", () => { + type MockWindow = typeof window & { triggerDragEnd?: (event: unknown) => void; mockIsOverId?: string; }; + const mockWindow = window as unknown as MockWindow; let mockOnLayoutChange: ReturnType; let mockOnToggleVisibility: ReturnType; beforeEach(() => { mockOnLayoutChange = vi.fn(); mockOnToggleVisibility = vi.fn(); - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (window as any).triggerDragEnd = undefined; - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (window as any).mockIsOverId = undefined; + mockWindow.triggerDragEnd = undefined; + mockWindow.mockIsOverId = undefined; }); it("renders blocks in their respective columns", () => { @@ -119,12 +118,11 @@ describe("LayoutEditor", () => { const dndContext = screen.getByTestId("dnd-context"); fireEvent.click(dndContext); - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const triggerDragEnd = (window as any).triggerDragEnd; + const triggerDragEnd = mockWindow.triggerDragEnd; expect(triggerDragEnd).toBeDefined(); // Drag 'avatar' to 'right' column - triggerDragEnd({ + triggerDragEnd!({ active: { id: "avatar" }, over: { id: "right" }, }); @@ -149,11 +147,10 @@ describe("LayoutEditor", () => { const dndContext = screen.getByTestId("dnd-context"); fireEvent.click(dndContext); - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const triggerDragEnd = (window as any).triggerDragEnd; + const triggerDragEnd = mockWindow.triggerDragEnd; // Drag 'avatar' over 'topLanguages' - triggerDragEnd({ + triggerDragEnd!({ active: { id: "avatar" }, over: { id: "topLanguages" }, }); @@ -178,9 +175,8 @@ describe("LayoutEditor", () => { const dndContext = screen.getByTestId("dnd-context"); fireEvent.click(dndContext); - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const triggerDragEnd = (window as any).triggerDragEnd; - triggerDragEnd({ + const triggerDragEnd = mockWindow.triggerDragEnd; + triggerDragEnd!({ active: { id: "avatar" }, over: null, }); @@ -200,9 +196,8 @@ describe("LayoutEditor", () => { const dndContext = screen.getByTestId("dnd-context"); fireEvent.click(dndContext); - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const triggerDragEnd = (window as any).triggerDragEnd; - triggerDragEnd({ + const triggerDragEnd = mockWindow.triggerDragEnd; + triggerDragEnd!({ active: { id: "avatar" }, over: { id: "avatar" }, }); @@ -222,9 +217,8 @@ describe("LayoutEditor", () => { const dndContext = screen.getByTestId("dnd-context"); fireEvent.click(dndContext); - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const triggerDragEnd = (window as any).triggerDragEnd; - triggerDragEnd({ + const triggerDragEnd = mockWindow.triggerDragEnd; + triggerDragEnd!({ active: { id: "avatar" }, over: { id: "non-existent-block" }, }); @@ -250,11 +244,10 @@ describe("LayoutEditor", () => { const dndContext = screen.getByTestId("dnd-context"); fireEvent.click(dndContext); - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const triggerDragEnd = (window as any).triggerDragEnd; + const triggerDragEnd = mockWindow.triggerDragEnd; // Drag 'avatar' over 'stats' (downwards) - triggerDragEnd({ + triggerDragEnd!({ active: { id: "avatar" }, over: { id: "stats" }, }); @@ -278,11 +271,10 @@ describe("LayoutEditor", () => { const dndContext = screen.getByTestId("dnd-context"); fireEvent.click(dndContext); - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const triggerDragEnd = (window as any).triggerDragEnd; + const triggerDragEnd = mockWindow.triggerDragEnd; // Drag 'avatar' to empty column 'right' - triggerDragEnd({ + triggerDragEnd!({ active: { id: "avatar" }, over: { id: "right" }, });