Files
dify/e2e/support/apps.ts

30 lines
975 B
TypeScript

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()
}