import { vi } from "vitest"; import * as MermaidToExcalidraw from "@excalidraw/mermaid-to-excalidraw"; import type { parseMermaidToExcalidraw } from "@excalidraw/mermaid-to-excalidraw"; import React from "react"; export const mockMermaidToExcalidraw = (opts: { parseMermaidToExcalidraw: typeof parseMermaidToExcalidraw; mockRef?: boolean; }) => { vi.mock("@excalidraw/mermaid-to-excalidraw", async (importActual) => { const module = (await importActual()) as any; return { __esModule: true, ...module, }; }); const parseMermaidToExcalidrawSpy = vi.spyOn( MermaidToExcalidraw, "parseMermaidToExcalidraw", ); parseMermaidToExcalidrawSpy.mockImplementation(opts.parseMermaidToExcalidraw); if (opts.mockRef) { vi.spyOn(React, "useRef").mockReturnValue({ current: { parseMermaidToExcalidraw: parseMermaidToExcalidrawSpy, }, }); } };