aboutsummaryrefslogtreecommitdiffstats
path: root/packages/excalidraw/tests/helpers/mocks.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/excalidraw/tests/helpers/mocks.ts')
-rw-r--r--packages/excalidraw/tests/helpers/mocks.ts32
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,
+ },
+ });
+ }
+};