fix(statistics): isolate mileage query scopes
This commit is contained in:
@@ -36,8 +36,8 @@ test('renders only the desktop matrix with dates as columns and a period total',
|
||||
prepareData();
|
||||
const view = renderPage('/statistics?vins=LTEST000000000001&dateFrom=2026-07-13&dateTo=2026-07-14');
|
||||
expect(await screen.findByText('车辆每日里程')).toBeInTheDocument();
|
||||
expect(screen.getAllByText('区间总里程').length).toBeGreaterThan(1);
|
||||
expect((await screen.findAllByText('193.3 km')).length).toBeGreaterThan(0);
|
||||
expect(screen.getAllByText('区间总里程').length).toBeGreaterThan(1);
|
||||
expect(screen.getAllByText('104.6 km').length).toBeGreaterThan(0);
|
||||
expect(screen.getAllByText('88.7 km').length).toBeGreaterThan(0);
|
||||
expect(screen.getAllByText('7/13').length).toBeGreaterThan(0);
|
||||
@@ -56,6 +56,25 @@ test('renders only the desktop matrix with dates as columns and a period total',
|
||||
expect(mocks.dailyMileage.mock.calls[0][0].get('protocols')).toBe('GB32960,JT808,YUTONG_MQTT');
|
||||
});
|
||||
|
||||
test('removes the previous mileage scope while a new date range is loading', async () => {
|
||||
prepareData();
|
||||
renderPage('/statistics?vins=LTEST000000000001&dateFrom=2026-07-13&dateTo=2026-07-14');
|
||||
expect((await screen.findAllByText('193.3 km')).length).toBeGreaterThan(0);
|
||||
expect(screen.getAllByText('104.6 km').length).toBeGreaterThan(0);
|
||||
await waitFor(() => expect(mocks.dailyMileage).toHaveBeenCalledTimes(1));
|
||||
|
||||
mocks.mileageStatistics.mockImplementation(() => new Promise(() => undefined));
|
||||
mocks.dailyMileage.mockImplementation(() => new Promise(() => undefined));
|
||||
fireEvent.click(screen.getByRole('button', { name: '近 7 天' }));
|
||||
|
||||
expect(await screen.findByText('正在查询里程')).toBeInTheDocument();
|
||||
expect(screen.getAllByText('正在按新筛选范围查询').length).toBeGreaterThan(0);
|
||||
expect(screen.queryByText('193.3 km')).not.toBeInTheDocument();
|
||||
expect(screen.queryByText('104.6 km')).not.toBeInTheDocument();
|
||||
expect(screen.queryByText('88.7 km')).not.toBeInTheDocument();
|
||||
expect(screen.getAllByText('2026-07-10 至 2026-07-16').length).toBeGreaterThan(0);
|
||||
});
|
||||
|
||||
test('mounts only the mobile mileage cards and removes the viewport listener', async () => {
|
||||
prepareData();
|
||||
const addEventListener = vi.fn();
|
||||
|
||||
Reference in New Issue
Block a user