import { UI } from "@excalidraw/excalidraw/tests/helpers/ui"; import { mockBoundingClientRect, render, restoreOriginalGetBoundingClientRect, } from "@excalidraw/excalidraw/tests/test-utils"; import ExcalidrawApp from "../App"; describe("Test MobileMenu", () => { const { h } = window; const dimensions = { height: 400, width: 800 }; beforeAll(() => { mockBoundingClientRect(dimensions); }); beforeEach(async () => { await render(); // @ts-ignore h.app.refreshEditorInterface(); }); afterAll(() => { restoreOriginalGetBoundingClientRect(); }); it("should set editor interface correctly", () => { expect(h.app.editorInterface).toMatchInlineSnapshot(` { "canFitSidebar": false, "desktopUIMode": "full", "formFactor": "phone", "isLandscape": true, "isTouchScreen": false, "userAgent": { "isMobileDevice": false, "platform": "other", "raw": "Mozilla/5.0 (darwin) AppleWebKit/537.36 (KHTML, like Gecko) jsdom/22.1.0", }, } `); }); 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(); }); });