import type { Page } from '@playwright/test' import { expect } from '@playwright/test' const getExpectOptions = (timeout?: number) => (timeout === undefined ? undefined : { timeout }) export const waitForAppsConsole = async (page: Page, timeout?: number) => { const options = getExpectOptions(timeout) await expect(page).toHaveURL(/\/apps(?:\?.*)?$/, options) await expect(page.getByRole('heading', { name: 'Studio' })).toBeVisible(options) } export const openBlankAppCreation = async (page: Page) => { const createFromBlankButton = page.getByRole('button', { name: 'Create from Blank' }).first() const isDirectCreateVisible = await createFromBlankButton .isVisible({ timeout: 3_000 }) .catch(() => false) if (isDirectCreateVisible) { await createFromBlankButton.click() return } await page.getByRole('button', { name: 'Create', exact: true }).click() await page.getByRole('menuitem', { name: 'Create from Blank' }).click() }