dify/e2e/features/step-definitions/agent-v2/advanced-settings.steps.ts

62 lines
2.6 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, such as environment variables.'),
).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 })).toHaveCount(0)
await expect(
envEditor.getByRole('combobox', { name: 'Select environment variable scope' }),
).toHaveCount(0)
},
)