aboutsummaryrefslogtreecommitdiffstats
path: root/excalidraw-app/tests/MobileMenu.test.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'excalidraw-app/tests/MobileMenu.test.tsx')
-rw-r--r--excalidraw-app/tests/MobileMenu.test.tsx51
1 files changed, 51 insertions, 0 deletions
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();
+ });
+});