import { render, queryAllByTestId } from "../../tests/test-utils"; import { Excalidraw, MainMenu } from "../../index"; describe("Test internal component fallback rendering", () => { it("should render only one menu per excalidraw instance (custom menu first scenario)", async () => { const { container } = await render(
test
, ); expect(queryAllByTestId(container, "main-menu-trigger")?.length).toBe(2); const excalContainers = container.querySelectorAll( ".excalidraw-container", ); expect( queryAllByTestId(excalContainers[0], "main-menu-trigger")?.length, ).toBe(1); expect( queryAllByTestId(excalContainers[1], "main-menu-trigger")?.length, ).toBe(1); }); it("should render only one menu per excalidraw instance (default menu first scenario)", async () => { const { container } = await render(
test
, ); expect(queryAllByTestId(container, "main-menu-trigger")?.length).toBe(2); const excalContainers = container.querySelectorAll( ".excalidraw-container", ); expect( queryAllByTestId(excalContainers[0], "main-menu-trigger")?.length, ).toBe(1); expect( queryAllByTestId(excalContainers[1], "main-menu-trigger")?.length, ).toBe(1); }); it("should render only one menu per excalidraw instance (two custom menus scenario)", async () => { const { container } = await render(
test test
, ); expect(queryAllByTestId(container, "main-menu-trigger")?.length).toBe(2); const excalContainers = container.querySelectorAll( ".excalidraw-container", ); expect( queryAllByTestId(excalContainers[0], "main-menu-trigger")?.length, ).toBe(1); expect( queryAllByTestId(excalContainers[1], "main-menu-trigger")?.length, ).toBe(1); }); it("should render only one menu per excalidraw instance (two default menus scenario)", async () => { const { container } = await render(
, ); expect(queryAllByTestId(container, "main-menu-trigger")?.length).toBe(2); const excalContainers = container.querySelectorAll( ".excalidraw-container", ); expect( queryAllByTestId(excalContainers[0], "main-menu-trigger")?.length, ).toBe(1); expect( queryAllByTestId(excalContainers[1], "main-menu-trigger")?.length, ).toBe(1); }); });