feat(web): unify vehicle source navigation
This commit is contained in:
@@ -100,6 +100,8 @@ test('polls lightweight single-vehicle realtime data and passes its report inter
|
||||
expect(screen.getByRole('heading', { name: '实时遥测', level: 5 })).toBeInTheDocument();
|
||||
expect(screen.getByRole('heading', { name: '车辆主档', level: 5 })).toBeInTheDocument();
|
||||
expect(screen.getByRole('navigation', { name: '单车详情导航' })).toBeInTheDocument();
|
||||
expect(view.container.querySelector('.v2-vehicle-record-page > .v2-source-evidence')).not.toBeInTheDocument();
|
||||
expect(screen.getByRole('button', { name: '来源证据' })).toBeInTheDocument();
|
||||
const telemetryPanel = view.container.querySelector<HTMLElement>('#vehicle-telemetry-panel')!;
|
||||
const scrollIntoView = vi.fn();
|
||||
Object.defineProperty(telemetryPanel, 'scrollIntoView', { configurable: true, value: scrollIntoView });
|
||||
@@ -116,7 +118,7 @@ test('polls lightweight single-vehicle realtime data and passes its report inter
|
||||
expect(totalMileageSource).toHaveClass('semi-button', 'v2-workspace-metric-action');
|
||||
expect(totalMileageSource.closest('.semi-card')).toHaveClass('v2-vehicle-live-metric-rail');
|
||||
expect(totalMileageSource.closest('.v2-live-overview')).toBe(commandCard);
|
||||
fireEvent.click(locationSource);
|
||||
fireEvent.click(screen.getByRole('button', { name: '来源证据' }));
|
||||
await waitFor(() => expect(sourceEvidence).toHaveBeenCalledTimes(1));
|
||||
});
|
||||
|
||||
@@ -278,7 +280,7 @@ test('keeps the mobile vehicle directory primary and applies search from a Semi
|
||||
expect(view.container.querySelector('.v2-vehicle-directory-table')).not.toBeInTheDocument();
|
||||
expect(view.container.querySelector('.v2-vehicle-query-panel')).not.toBeInTheDocument();
|
||||
expect(screen.queryByLabelText('查车操作')).not.toBeInTheDocument();
|
||||
const toggle = screen.getByRole('button', { name: '修改车辆范围:10 辆授权车辆' });
|
||||
const toggle = screen.getByRole('button', { name: '打开车辆搜索:10 辆授权车辆' });
|
||||
expect(toggle).toHaveAttribute('aria-expanded', 'false');
|
||||
fireEvent.click(toggle);
|
||||
const input = screen.getByRole('textbox', { name: '搜索车辆' });
|
||||
@@ -291,20 +293,20 @@ test('keeps the mobile vehicle directory primary and applies search from a Semi
|
||||
expect(screen.getByRole('list', { name: '车辆搜索摘要' })).toHaveTextContent(`当前条件${items[0].plate}车牌 / VIN / 终端`);
|
||||
expect(screen.getAllByRole('button', { name: /打开 .* 车辆档案/ })).toHaveLength(8);
|
||||
fireEvent.click(screen.getByRole('button', { name: '应用搜索' }));
|
||||
await waitFor(() => expect(screen.getByRole('button', { name: `修改车辆范围:${items[0].plate} · 10 辆匹配` })).toHaveAttribute('aria-expanded', 'false'));
|
||||
await waitFor(() => expect(screen.getByRole('button', { name: `打开车辆搜索:${items[0].plate} · 10 辆匹配` })).toHaveAttribute('aria-expanded', 'false'));
|
||||
expect(screen.getByRole('heading', { name: '匹配车辆', level: 5 })).toBeInTheDocument();
|
||||
|
||||
fireEvent.click(screen.getByRole('button', { name: `修改车辆范围:${items[0].plate} · 10 辆匹配` }));
|
||||
fireEvent.click(screen.getByRole('button', { name: `打开车辆搜索:${items[0].plate} · 10 辆匹配` }));
|
||||
fireEvent.change(screen.getByRole('textbox', { name: '搜索车辆' }), { target: { value: items[1].plate } });
|
||||
fireEvent.click(screen.getByRole('button', { name: '关闭车辆搜索' }));
|
||||
await waitFor(() => expect(screen.getByRole('button', { name: `修改车辆范围:${items[0].plate} · 10 辆匹配` })).toBeInTheDocument());
|
||||
await waitFor(() => expect(screen.getByRole('button', { name: `打开车辆搜索:${items[0].plate} · 10 辆匹配` })).toBeInTheDocument());
|
||||
|
||||
fireEvent.click(screen.getByRole('button', { name: `修改车辆范围:${items[0].plate} · 10 辆匹配` }));
|
||||
fireEvent.click(screen.getByRole('button', { name: `打开车辆搜索:${items[0].plate} · 10 辆匹配` }));
|
||||
fireEvent.click(screen.getByRole('button', { name: '重置范围' }));
|
||||
expect(screen.getByRole('dialog', { name: '车辆搜索' })).toBeInTheDocument();
|
||||
expect(screen.getByRole('button', { name: `关闭车辆范围:${items[0].plate} · 10 辆匹配` })).toHaveAttribute('aria-expanded', 'true');
|
||||
expect(screen.getByRole('button', { name: `关闭车辆搜索:${items[0].plate} · 10 辆匹配` })).toHaveAttribute('aria-expanded', 'true');
|
||||
fireEvent.click(screen.getByRole('button', { name: '应用搜索' }));
|
||||
await waitFor(() => expect(screen.getByRole('button', { name: '修改车辆范围:10 辆授权车辆' })).toBeInTheDocument());
|
||||
await waitFor(() => expect(screen.getByRole('button', { name: '打开车辆搜索:10 辆授权车辆' })).toBeInTheDocument());
|
||||
expect(screen.getByRole('heading', { name: '授权车辆', level: 5 })).toBeInTheDocument();
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user