feat(platform): separate ops quality as evidence layer

This commit is contained in:
lingniu
2026-07-05 20:40:29 +08:00
parent 59d55e7bd6
commit 1e4a11d806
3 changed files with 128 additions and 4 deletions

View File

@@ -4391,7 +4391,7 @@ test('renders notification rules as a standalone operations page', async () => {
expect(window.location.hash).toBe('#/detail?keyword=VIN-RULES-001');
});
test('renders ops quality as a standalone runtime health page', async () => {
test('renders ops quality as a separated evidence layer for customer vehicle service', async () => {
window.history.replaceState(null, '', '/#/ops-quality');
const writeText = vi.fn(() => Promise.resolve());
Object.defineProperty(navigator, 'clipboard', {
@@ -4512,7 +4512,14 @@ test('renders ops quality as a standalone runtime health page', async () => {
render(<App />);
expect(await screen.findByRole('heading', { name: '运维质量' })).toBeInTheDocument();
expect(await screen.findByRole('heading', { name: '运维证据层' })).toBeInTheDocument();
expect(screen.getByText('客户主流程外的链路、容量、存储和地图配置证据,用来解释车辆实时、轨迹、统计、导出或告警为何不可用。')).toBeInTheDocument();
expect(screen.getByText('客户问题解释路径')).toBeInTheDocument();
expect(screen.getByRole('button', { name: '客户问题解释路径 车辆不在线 看实时写入' })).toBeInTheDocument();
expect(screen.getByRole('button', { name: '客户问题解释路径 轨迹缺数据 看历史消费' })).toBeInTheDocument();
expect(screen.getByRole('button', { name: '客户问题解释路径 无法导出 看存储/API' })).toBeInTheDocument();
expect(screen.getByRole('button', { name: '客户问题解释路径 地图不可用 看高德配置' })).toBeInTheDocument();
expect(screen.getByText('运维证据只在客户问题需要解释时打开,默认不参与车辆服务主流程。')).toBeInTheDocument();
expect(screen.getByText('platform-ops-test')).toBeInTheDocument();
expect(screen.getAllByText('42').length).toBeGreaterThanOrEqual(1);
expect(screen.getAllByText('1,234').length).toBeGreaterThanOrEqual(1);