815cbf9d8c
- 更新 .gitignore:全面覆盖环境变量、数据库、日志、缓存、上传文件 - 移除误跟踪的 server/venv/、crm_data.db、.env 文件 - 新增 server/.env.example 模板 - 新增合同管理、利润核算、AI教练等功能模块 - 新增 Playwright e2e 测试套件 - 前后端多项功能升级和 bug 修复
39 lines
1.4 KiB
TypeScript
39 lines
1.4 KiB
TypeScript
/**
|
|
* 工作台 Dashboard 测试
|
|
*/
|
|
import { test, expect } from '@playwright/test';
|
|
|
|
test.describe('工作台', () => {
|
|
test('统计卡片正确显示', async ({ page }) => {
|
|
await page.goto('/');
|
|
await page.waitForLoadState('networkidle');
|
|
|
|
// 实际卡片标题
|
|
await expect(page.getByText('本月新增订单')).toBeVisible({ timeout: 5000 });
|
|
await expect(page.getByText('待出库发货')).toBeVisible();
|
|
await expect(page.getByText('库存预警 SKU')).toBeVisible();
|
|
await expect(page.getByText('本月预计营收')).toBeVisible();
|
|
});
|
|
|
|
test('侧边栏菜单可点击导航', async ({ page }) => {
|
|
await page.goto('/');
|
|
await page.waitForLoadState('networkidle');
|
|
|
|
// 菜单在子菜单组中,需先展开 "业务线"
|
|
await page.getByText('业务线').click();
|
|
await page.waitForTimeout(500);
|
|
await page.getByRole('menuitem', { name: '客户管理' }).click();
|
|
await page.waitForURL('/customers');
|
|
await expect(page).toHaveURL('/customers');
|
|
});
|
|
|
|
test('快捷操作按钮可见', async ({ page }) => {
|
|
await page.goto('/');
|
|
await page.waitForLoadState('networkidle');
|
|
|
|
await expect(page.getByRole('button', { name: '新建订单' })).toBeVisible();
|
|
await expect(page.getByRole('button', { name: '安排发货' })).toBeVisible();
|
|
await expect(page.getByRole('button', { name: '库存入库' })).toBeVisible();
|
|
});
|
|
});
|