- Playwright 双 webServer 模式自动启动 Go 后端 + Vite 前端 - 后端使用临时 SQLite 数据库隔离,固定端口 19026 - vite.config.ts proxy target 动态读取环境变量 - 新增 sql.js 依赖用于 SQLite 统计数据 seed - 新增 e2e/fixtures.ts 共享工具模块(API seed + SQLite seed) - 拆分测试文件 5→7(providers/models/stats/navigation/validation) - 删除旧文件 crud.spec.ts/sidebar.spec.ts/stats-cards.spec.ts - E2E 测试尚有部分用例需调试修复
52 lines
1.8 KiB
TypeScript
52 lines
1.8 KiB
TypeScript
import { test, expect } from '@playwright/test'
|
|
|
|
test.describe('侧边栏', () => {
|
|
test.beforeEach(async ({ page }) => {
|
|
await page.goto('/providers')
|
|
await expect(page.getByRole('heading', { name: '供应商管理' })).toBeVisible()
|
|
})
|
|
|
|
test('应显示侧边栏', async ({ page }) => {
|
|
const aside = page.locator('aside')
|
|
await expect(aside).toBeVisible()
|
|
})
|
|
|
|
test('应显示应用名称', async ({ page }) => {
|
|
await expect(page.locator('aside').getByText('AI Gateway')).toBeVisible()
|
|
})
|
|
|
|
test('应显示导航菜单项', async ({ page }) => {
|
|
const aside = page.locator('aside')
|
|
await expect(aside.getByText('供应商管理')).toBeVisible()
|
|
await expect(aside.getByText('用量统计')).toBeVisible()
|
|
})
|
|
})
|
|
|
|
test.describe('页面导航', () => {
|
|
test.beforeEach(async ({ page }) => {
|
|
await page.goto('/providers')
|
|
await expect(page.getByRole('heading', { name: '供应商管理' })).toBeVisible()
|
|
})
|
|
|
|
test('应能切换到用量统计', async ({ page }) => {
|
|
await page.locator('aside').getByText('用量统计').click()
|
|
await expect(page.getByRole('heading', { name: '用量统计' })).toBeVisible()
|
|
})
|
|
|
|
test('应能切换回供应商管理', async ({ page }) => {
|
|
await page.locator('aside').getByText('用量统计').click()
|
|
await expect(page.getByRole('heading', { name: '用量统计' })).toBeVisible()
|
|
|
|
await page.locator('aside').getByText('供应商管理').click()
|
|
await expect(page.getByRole('heading', { name: '供应商管理' })).toBeVisible()
|
|
})
|
|
|
|
test('应在刷新后保持当前页面', async ({ page }) => {
|
|
await page.locator('aside').getByText('用量统计').click()
|
|
await expect(page.getByRole('heading', { name: '用量统计' })).toBeVisible()
|
|
|
|
await page.reload()
|
|
await expect(page.getByRole('heading', { name: '用量统计' })).toBeVisible()
|
|
})
|
|
})
|