Files
dify/e2e/features/step-definitions/apps/export-app.steps.ts
2026-04-17 06:31:54 +00:00

20 lines
789 B
TypeScript

import type { DifyWorld } from '../../support/world'
import { Then } from '@cucumber/cucumber'
import { expect } from '@playwright/test'
Then('a YAML file named after the app should be downloaded', async function (this: DifyWorld) {
const appName = this.lastCreatedAppName
if (!appName) {
throw new Error(
'No app name stored. Run "there is an existing E2E app available for testing" first.',
)
}
// The export triggers an async API call before the blob download fires.
// Poll until the download event is captured by the page listener in DifyWorld.
await expect.poll(() => this.capturedDownloads.length, { timeout: 10_000 }).toBeGreaterThan(0)
const download = this.capturedDownloads.at(-1)!
expect(download.suggestedFilename()).toBe(`${appName}.yml`)
})