37 lines
2.1 KiB
TypeScript
37 lines
2.1 KiB
TypeScript
|
|
// T15(A12)运行时抽查(P4b Task 6):admin 主旅程 en 版。
|
|||
|
|
// 模板 i18n zh/en 键集一致性 + 错误码映射枚举覆盖由 error.spec.ts 机器守护;
|
|||
|
|
// 此处验证真实 DOM:登录页顶栏语言菜单(用户级设置,AuthTopBar)切 English →
|
|||
|
|
// 登录表单/按钮英文文案 → 正确登录 → 相册管理列表页英文(菜单/新建按钮/
|
|||
|
|
// 空态)。zh 版主旅程由既有 login/albums 系列覆盖;viewer en 旅程由
|
|||
|
|
// viewer e2e 各 spec 覆盖;embed iframe lang 两语言见 viewer e2e/embed.spec.ts。
|
|||
|
|
import { expect, test } from '@playwright/test'
|
|||
|
|
import { adminCredentials } from './helpers'
|
|||
|
|
|
|||
|
|
test('en locale: admin 主旅程(登录 → 相册管理)全英文渲染', async ({ page }) => {
|
|||
|
|
const { account, password } = adminCredentials()
|
|||
|
|
await page.goto('/#/auth/login')
|
|||
|
|
|
|||
|
|
// 登录页右上语言菜单 → English(ElDropdown teleport 到 body)。
|
|||
|
|
await page.locator('.language-btn').first().click()
|
|||
|
|
await page.locator('.el-dropdown-menu__item', { hasText: 'English' }).click()
|
|||
|
|
|
|||
|
|
// 登录表单文案与占位符切换为英文。
|
|||
|
|
await expect(page.getByText('Welcome back')).toBeVisible()
|
|||
|
|
await expect(page.getByPlaceholder('Enter account')).toBeVisible()
|
|||
|
|
await expect(page.getByPlaceholder('Please enter your password')).toBeVisible()
|
|||
|
|
await expect(page.getByRole('button', { name: 'Login' })).toBeVisible()
|
|||
|
|
|
|||
|
|
// 英文凭据登录 → 落相册管理列表页,页面级文案英文。
|
|||
|
|
await page.getByPlaceholder('Enter account').fill(account)
|
|||
|
|
await page.getByPlaceholder('Please enter your password').fill(password)
|
|||
|
|
await page.getByRole('button', { name: 'Login' }).click()
|
|||
|
|
await expect(page).toHaveURL(/\/albums\/manage/, { timeout: 20_000 })
|
|||
|
|
await expect(page.getByText('Album Management').first()).toBeVisible()
|
|||
|
|
await expect(page.getByRole('button', { name: 'New Album' })).toBeVisible()
|
|||
|
|
|
|||
|
|
// 语言偏好已持久(用户级设置,刷新后仍英文)。
|
|||
|
|
await page.reload()
|
|||
|
|
await expect(page.getByText('Album Management').first()).toBeVisible()
|
|||
|
|
await expect(page.getByRole('button', { name: 'New Album' })).toBeVisible()
|
|||
|
|
})
|