diff --git a/vehicle-data-platform/apps/web/src/v2/pages/StatisticsPage.test.tsx b/vehicle-data-platform/apps/web/src/v2/pages/StatisticsPage.test.tsx index a078a0be..bccac7a7 100644 --- a/vehicle-data-platform/apps/web/src/v2/pages/StatisticsPage.test.tsx +++ b/vehicle-data-platform/apps/web/src/v2/pages/StatisticsPage.test.tsx @@ -48,9 +48,12 @@ test('renders only the desktop matrix with dates as columns and a period total', expect(screen.getAllByText('7/13').length).toBeGreaterThan(0); expect(screen.getAllByText('7/14').length).toBeGreaterThan(0); expect(screen.getAllByText('粤A12345').length).toBeGreaterThan(0); + expect(screen.getByLabelText('里程查询工作区')).toHaveClass('v2-workspace-command-bar', 'v2-mileage-command-bar'); + expect(screen.getByRole('heading', { name: '车辆里程分析', level: 5 })).toBeInTheDocument(); + expect(screen.getByLabelText('里程查询工作区')).toHaveTextContent('GB32960 优先'); expect(screen.getByRole('heading', { name: '里程范围', level: 5 })).toBeInTheDocument(); expect(screen.getByText('车牌、自然日与里程数据源策略')).toBeInTheDocument(); - expect(screen.getByText('1 辆 · 2 天').closest('.semi-tag')).toBeInTheDocument(); + expect(screen.getAllByText('1 辆 · 2 天').some((element) => element.closest('.semi-tag'))).toBe(true); expect(screen.queryByText('当日起始里程')).not.toBeInTheDocument(); expect(screen.queryByText('数据来源')).not.toBeInTheDocument(); expect(screen.queryByRole('img', { name: '每日行驶里程趋势图' })).not.toBeInTheDocument(); @@ -60,6 +63,7 @@ test('renders only the desktop matrix with dates as columns and a period total', expect(screen.getByText('已绑定主车辆').closest('.semi-card')).toHaveClass('v2-mileage-summary-card'); expect(screen.getByText('车辆每日里程').closest('.semi-card')).toHaveClass('v2-mileage-results'); expect(view.container.querySelector('.v2-mileage-query-panel.semi-card')).toBeInTheDocument(); + expect(view.container.querySelector('.v2-mileage-discovery-shell > .v2-mileage-command-bar')).toBeInTheDocument(); expect(view.container.querySelector('.v2-mileage-page > .v2-page-heading')).not.toBeInTheDocument(); expect(view.container.querySelector('.v2-mileage-summary.semi-card')).toHaveAttribute('aria-label', '里程查询统计信息'); expect(view.container.querySelector('.v2-mileage-summary-secondary.semi-card-group')).toBeInTheDocument(); diff --git a/vehicle-data-platform/apps/web/src/v2/pages/StatisticsPage.tsx b/vehicle-data-platform/apps/web/src/v2/pages/StatisticsPage.tsx index 4e451d30..225b3465 100644 --- a/vehicle-data-platform/apps/web/src/v2/pages/StatisticsPage.tsx +++ b/vehicle-data-platform/apps/web/src/v2/pages/StatisticsPage.tsx @@ -13,6 +13,7 @@ import { TablePagination } from '../shared/TablePagination'; import { VehicleCandidateList } from '../shared/VehicleCandidateList'; import { mergeVehicleCandidates } from '../shared/vehicleCandidates'; import { WorkspaceFilterPanel } from '../shared/WorkspaceFilterPanel'; +import { WorkspaceCommandBar } from '../shared/WorkspaceCommandBar'; import { WorkspaceMetricRail } from '../shared/WorkspaceMetricRail'; import { WorkspacePanelHeader } from '../shared/WorkspacePanelHeader'; import { QUERY_MEMORY, retainPreviousPageWithinScope } from '../queryPolicy'; @@ -534,28 +535,39 @@ export default function StatisticsPage() { return
{validationError || criteriaError}
: null} -{validationError || criteriaError}
: null} +