mirror of
https://ghfast.top/https://github.com/aeroxw/easy_tdx_max.git
synced 2026-09-12 16:54:20 +08:00
- web/e2e_mock.py:EASY_TDX_E2E_MOCK=1 时 lifespan 替换 TDX/MAC 客户端为 确定性合成数据(CRC32 播种随机游走,分页语义对齐真实 /bars);回测/WF/ 评估/自选/策略库仍走真实后端,SSE 由 QuoteStreamer 真轮询(mock 下 2s 一拍) - web-ui:@playwright/test + playwright.config.ts(webServer 自动起 serve, EASY_TDX_CONFIG_DIR 指向每轮临时目录);e2e/ 5 用例覆盖看板五指数/SSE、 自选增删、回测全流程、附加分析(WF 柱状图+一条龙评估卡)、策略库保存 - package.json 加 test:e2e;CI frontend job 追加 E2E;verify_ci.sh 补前端段 - tests/unit/test_e2e_mock.py(11 例)守护 mock 契约;本地 npx playwright test 全绿
25 lines
1.1 KiB
TypeScript
25 lines
1.1 KiB
TypeScript
// 自选页 E2E:加入自选(行情校验 + 名称补全走 mock)→ 表格出现 → 删除 → 消失。
|
|
//
|
|
// 每轮 E2E 用独立的临时 EASY_TDX_CONFIG_DIR,自选从空开始,断言可写死。
|
|
|
|
import { expect, test } from '@playwright/test'
|
|
|
|
test('自选页增删自选', async ({ page }) => {
|
|
await page.goto('/watchlist')
|
|
|
|
// 初始为空(临时配置目录)
|
|
await expect(page.locator('.empty-row')).toBeVisible()
|
|
|
|
// 加入 600519(市场自动识别 SH;名称走 mock /mac/symbol-info → 贵州茅台)
|
|
await page.fill('.code-input', '600519')
|
|
await page.getByRole('button', { name: '加入自选' }).click()
|
|
await expect(page.locator('.data-row')).toHaveCount(1, { timeout: 30_000 })
|
|
await expect(page.locator('.data-row .cell-name')).toHaveText('贵州茅台')
|
|
await expect(page.locator('.data-row .cell-code')).toHaveText('SH600519')
|
|
|
|
// 删除后表格回到空态
|
|
await page.locator('.data-row .del').first().click()
|
|
await expect(page.locator('.data-row')).toHaveCount(0)
|
|
await expect(page.locator('.empty-row')).toBeVisible()
|
|
})
|