diff options
Diffstat (limited to 'packages/excalidraw/tests/helpers/mocks.ts')
| -rw-r--r-- | packages/excalidraw/tests/helpers/mocks.ts | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/packages/excalidraw/tests/helpers/mocks.ts b/packages/excalidraw/tests/helpers/mocks.ts new file mode 100644 index 0000000..a87523e --- /dev/null +++ b/packages/excalidraw/tests/helpers/mocks.ts @@ -0,0 +1,32 @@ +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, + }, + }); + } +}; |
