// 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() })