diff --git a/tests/e2e/viewport-test-helpers.ts b/tests/e2e/viewport-test-helpers.ts new file mode 100644 index 00000000..c0571e9c --- /dev/null +++ b/tests/e2e/viewport-test-helpers.ts @@ -0,0 +1,27 @@ +import type { Page } from "@playwright/test"; + +export const DEFAULT_VIEWPORT_PANEL_ID = "topLeft"; + +export function getViewportPanel(page: Page, panelId: string = DEFAULT_VIEWPORT_PANEL_ID) { + return page.getByTestId(`viewport-panel-${panelId}`); +} + +export function getViewportCanvas(page: Page, panelId: string = DEFAULT_VIEWPORT_PANEL_ID) { + return getViewportPanel(page, panelId).locator("canvas"); +} + +export function getViewportOverlay(page: Page, panelId: string = DEFAULT_VIEWPORT_PANEL_ID) { + return page.getByTestId(`viewport-overlay-${panelId}`); +} + +export async function clickViewport(page: Page, panelId: string = DEFAULT_VIEWPORT_PANEL_ID) { + const viewportCanvas = getViewportCanvas(page, panelId); + + if ((await viewportCanvas.count()) > 0) { + await viewportCanvas.click(); + return; + } + + await getViewportPanel(page, panelId).getByTestId(`viewport-fallback-create-box-${panelId}`).click(); +} +