feat(platform): frame history protocol as source evidence

This commit is contained in:
lingniu
2026-07-06 02:11:44 +08:00
parent 26eeba713d
commit 1d51c92d8c
2 changed files with 24 additions and 23 deletions

View File

@@ -7187,7 +7187,7 @@ test('applies protocol from shareable history hash to API requests', async () =>
body: expect.stringContaining('"protocol":"JT808"')
}));
expect(screen.getByText('当前车辆粤AG18312')).toBeInTheDocument();
expect(screen.getAllByText('数据通道JT808').length).toBeGreaterThan(0);
expect(screen.getAllByText('来源证据JT808').length).toBeGreaterThan(0);
fireEvent.click(screen.getByRole('button', { name: '顶部统计查询' }));
expect(window.location.hash).toBe('#/mileage?keyword=%E7%B2%A4AG18312&protocol=JT808&dateFrom=2026-07-01&dateTo=2026-07-03');
@@ -7528,7 +7528,7 @@ test('shows and clears current history filters while keeping vehicle scope', asy
expect(await screen.findByText('当前历史筛选')).toBeInTheDocument();
expect(screen.getByText('车辆VIN-HISTORY-001')).toBeInTheDocument();
expect(screen.getAllByText('数据通道JT808').length).toBeGreaterThan(0);
expect(screen.getAllByText('来源证据JT808').length).toBeGreaterThan(0);
expect(screen.getByText('开始时间2026-07-01 00:00:00')).toBeInTheDocument();
expect(screen.getByText('结束时间2026-07-01 23:59:59')).toBeInTheDocument();
expect(screen.getAllByText('返回字段明细').length).toBeGreaterThanOrEqual(2);
@@ -7625,6 +7625,7 @@ test('shows parsed field history as a flattened evidence table', async () => {
expect(screen.getByRole('button', { name: '客户证据包交付总览 明细字段 2 字段 字段导出' })).toBeInTheDocument();
expect(screen.getByRole('button', { name: '客户证据包交付总览 交付说明 可交付 复制说明' })).toBeInTheDocument();
expect(screen.getByText('客户先选车辆和时间窗,再拿到路线、里程、原始证据、字段裁剪和告警说明。')).toBeInTheDocument();
expect(screen.getAllByText('来源证据GB32960').length).toBeGreaterThan(0);
expect(screen.getByText('当前服务范围VIN-FIELDS-001 / GB32960')).toBeInTheDocument();
expect(screen.getByRole('button', { name: '车辆历史服务台 路线复盘 0 点 查询位置' })).toBeInTheDocument();
expect(screen.getByRole('button', { name: '车辆历史服务台 里程核对 - 统计查询' })).toBeInTheDocument();
@@ -7687,7 +7688,7 @@ test('shows parsed field history as a flattened evidence table', async () => {
expect(screen.getByRole('button', { name: '客户导出包模板库 问题解释包 客户问询 复制说明' })).toBeInTheDocument();
expect(screen.getByRole('button', { name: '客户导出包模板库 字段稳定包 数据对接 字段配置' })).toBeInTheDocument();
expect(screen.getByText('保存报表视图')).toBeInTheDocument();
expect(screen.getByText('把当前车辆、时间窗、数据通道、字段裁剪和交付节奏保存成客户可复用视图,后续不用重新拼查询条件。')).toBeInTheDocument();
expect(screen.getByText('把当前车辆、时间窗、来源证据、字段裁剪和交付节奏保存成客户可复用视图,后续不用重新拼查询条件。')).toBeInTheDocument();
expect(screen.getByRole('button', { name: '保存报表视图 当前筛选 VIN-FIELDS-001 保存视图' })).toBeInTheDocument();
expect(screen.getByRole('button', { name: '保存报表视图 字段模板 2 字段 复用字段' })).toBeInTheDocument();
expect(screen.getByRole('button', { name: '保存报表视图 交付节奏 日报/周报 复制计划' })).toBeInTheDocument();
@@ -10065,7 +10066,7 @@ test('opens current vehicle service from history header with current source evid
render(<App />);
expect((await screen.findAllByText('数据通道JT808')).length).toBeGreaterThan(0);
expect((await screen.findAllByText('来源证据JT808')).length).toBeGreaterThan(0);
fireEvent.click(screen.getByRole('button', { name: '当前车辆服务' }));
await waitFor(() => {