mirror of
https://mirror.skon.top/github.com/langgenius/dify.git
synced 2026-04-20 15:20:15 +08:00
29 lines
1.0 KiB
TypeScript
29 lines
1.0 KiB
TypeScript
import type { DifyWorld } from '../../support/world'
|
|
import { Given, Then, When } from '@cucumber/cucumber'
|
|
import { expect } from '@playwright/test'
|
|
import { createTestApp } from '../../../support/api'
|
|
|
|
Given(
|
|
'there is an existing E2E completion app available for testing',
|
|
async function (this: DifyWorld) {
|
|
const name = `E2E Test App ${Date.now()}`
|
|
const app = await createTestApp(name, 'completion')
|
|
this.lastCreatedAppName = app.name
|
|
this.createdAppIds.push(app.id)
|
|
},
|
|
)
|
|
|
|
When('I confirm the app switch', async function (this: DifyWorld) {
|
|
await this.getPage().getByRole('button', { name: 'Start switch' }).click()
|
|
})
|
|
|
|
Then('I should land on the switched app', async function (this: DifyWorld) {
|
|
const page = this.getPage()
|
|
await expect(page).toHaveURL(/\/app\/[^/]+\/workflow(?:\?.*)?$/, { timeout: 15_000 })
|
|
|
|
// Capture the new app's ID so the After hook can clean it up
|
|
const match = page.url().match(/\/app\/([^/]+)\/workflow/)
|
|
if (match?.[1])
|
|
this.createdAppIds.push(match[1])
|
|
})
|