docs: 交付文档、维护指引与端到端回归
补齐 README、开发计划、维护交接与 E2E 用例,执行最终验收。
This commit is contained in:
1 parent
5be5ca3376
commit
308332eb94
216 files changed
+37038
No files matched your search
@@ -0,0 +1,41 @@
|
||||
import { expect, type Locator, type Page } from '@playwright/test'
|
||||
import { step } from '../support/step'
|
||||
|
||||
export interface NewTeamMember {
|
||||
name: string
|
||||
email: string
|
||||
password: string
|
||||
role: 'Admin' | 'Agent'
|
||||
}
|
||||
|
||||
/** /human-agents — people, teams and roles. */
|
||||
export class HumanAgentsPage {
|
||||
readonly page: Page
|
||||
|
||||
constructor(page: Page) {
|
||||
this.page = page
|
||||
}
|
||||
|
||||
async goto(): Promise<void> {
|
||||
await this.page.goto('/human-agents')
|
||||
await expect(this.page.getByRole('main').getByRole('heading', { name: 'Human Agents', exact: true })).toBeVisible()
|
||||
}
|
||||
|
||||
async invite(member: NewTeamMember): Promise<void> {
|
||||
await step(`Add ${member.email} as ${member.role}`, async () => {
|
||||
await this.page.getByRole('button', { name: 'Invite agent' }).click()
|
||||
const dialog = this.page.getByRole('dialog', { name: 'Create New User' })
|
||||
await dialog.getByLabel('Full Name').fill(member.name)
|
||||
await dialog.getByLabel('Email').fill(member.email)
|
||||
await dialog.getByLabel('Role').selectOption({ label: member.role })
|
||||
await dialog.getByLabel('Password', { exact: true }).fill(member.password)
|
||||
await dialog.getByLabel('Confirm Password').fill(member.password)
|
||||
await dialog.getByRole('button', { name: 'Create', exact: true }).click()
|
||||
await expect(dialog).toBeHidden()
|
||||
})
|
||||
}
|
||||
|
||||
member(email: string): Locator {
|
||||
return this.page.getByRole('main').getByText(email)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user