From bfc2cec7d43eb8eaa46dd3f91084932381257059 Mon Sep 17 00:00:00 2001
From: kj_sh604
Date: Sun, 15 Mar 2026 16:19:35 -0400
Subject: refactor: excalidraw-app/

---
 excalidraw-app/tests/MobileMenu.test.tsx | 51 ++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)
 create mode 100644 excalidraw-app/tests/MobileMenu.test.tsx

(limited to 'excalidraw-app/tests/MobileMenu.test.tsx')

diff --git a/excalidraw-app/tests/MobileMenu.test.tsx b/excalidraw-app/tests/MobileMenu.test.tsx
new file mode 100644
index 0000000..a6eef3b
--- /dev/null
+++ b/excalidraw-app/tests/MobileMenu.test.tsx
@@ -0,0 +1,51 @@
+import ExcalidrawApp from "../App";
+import {
+  mockBoundingClientRect,
+  render,
+  restoreOriginalGetBoundingClientRect,
+} from "@excalidraw/excalidraw/tests/test-utils";
+
+import { UI } from "@excalidraw/excalidraw/tests/helpers/ui";
+
+describe("Test MobileMenu", () => {
+  const { h } = window;
+  const dimensions = { height: 400, width: 800 };
+
+  beforeAll(() => {
+    mockBoundingClientRect(dimensions);
+  });
+
+  beforeEach(async () => {
+    await render(<ExcalidrawApp />);
+    // @ts-ignore
+    h.app.refreshViewportBreakpoints();
+    // @ts-ignore
+    h.app.refreshEditorBreakpoints();
+  });
+
+  afterAll(() => {
+    restoreOriginalGetBoundingClientRect();
+  });
+
+  it("should set device correctly", () => {
+    expect(h.app.device).toMatchInlineSnapshot(`
+      {
+        "editor": {
+          "canFitSidebar": false,
+          "isMobile": true,
+        },
+        "isTouchScreen": false,
+        "viewport": {
+          "isLandscape": false,
+          "isMobile": true,
+        },
+      }
+    `);
+  });
+
+  it("should initialize with welcome screen and hide once user interacts", async () => {
+    expect(document.querySelector(".welcome-screen-center")).toMatchSnapshot();
+    UI.clickTool("rectangle");
+    expect(document.querySelector(".welcome-screen-center")).toBeNull();
+  });
+});
-- 
cgit v1.2.3

