dify/e2e/features/step-definitions/agent-v2/advanced-settings.steps.ts
yyh d66de8a47b
test(e2e): harden behavior coverage and CI gates (#39043)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-07-16 07:32:11 +00:00

59 lines
2.5 KiB
TypeScript

import type { DifyWorld } from '../../support/world'
import { Then, When } from '@cucumber/cucumber'
import { expect } from '@playwright/test'
When('I expand Agent v2 Advanced Settings', async function (this: DifyWorld) {
const page = this.getPage()
const advancedSettings = page.getByRole('region', { name: 'Advanced Settings' })
const trigger = advancedSettings
.getByRole('heading', { name: 'Advanced Settings' })
.getByRole('button')
await expect(trigger).toHaveAttribute('aria-expanded', 'false')
await trigger.click()
await expect(trigger).toHaveAttribute('aria-expanded', 'true')
await expect(advancedSettings.getByRole('heading', { name: 'Env Editor' })).toBeVisible()
})
When('I collapse Agent v2 Advanced Settings', async function (this: DifyWorld) {
const page = this.getPage()
const advancedSettings = page.getByRole('region', { name: 'Advanced Settings' })
const trigger = advancedSettings
.getByRole('heading', { name: 'Advanced Settings' })
.getByRole('button')
await expect(trigger).toHaveAttribute('aria-expanded', 'true')
await trigger.click()
await expect(trigger).toHaveAttribute('aria-expanded', 'false')
await expect(advancedSettings.getByRole('heading', { name: 'Env Editor' })).not.toBeVisible()
})
Then(
'Agent v2 Advanced Settings should describe supported entries while collapsed',
async function (this: DifyWorld) {
const page = this.getPage()
const advancedSettings = page.getByRole('region', { name: 'Advanced Settings' })
await expect(advancedSettings).toBeVisible()
await expect(
advancedSettings.getByText('For power users. Env vars, sandbox & memory.'),
).toBeVisible()
await expect(advancedSettings.getByRole('heading', { name: 'Env Editor' })).not.toBeVisible()
},
)
Then(
'I should see the supported Agent v2 Advanced Settings entries',
async function (this: DifyWorld) {
const advancedSettings = this.getPage().getByRole('region', { name: 'Advanced Settings' })
const envEditor = advancedSettings.getByRole('region', { name: 'Env Editor' })
await expect(envEditor).toBeVisible()
await expect(envEditor.getByRole('button', { name: 'Import .env' })).toBeVisible()
await expect(envEditor.getByRole('button', { name: 'Add environment variable' })).toBeVisible()
await expect(envEditor.getByText('Key', { exact: true })).toBeVisible()
await expect(envEditor.getByText('Value', { exact: true })).toBeVisible()
await expect(envEditor.getByText('Scope', { exact: true })).toBeVisible()
},
)