diff --git a/vehicle-data-platform/apps/web/src/v2/pages/VehiclePage.test.tsx b/vehicle-data-platform/apps/web/src/v2/pages/VehiclePage.test.tsx index f312b3e8..b050b6e0 100644 --- a/vehicle-data-platform/apps/web/src/v2/pages/VehiclePage.test.tsx +++ b/vehicle-data-platform/apps/web/src/v2/pages/VehiclePage.test.tsx @@ -525,7 +525,11 @@ test('keeps protocol telemetry independent and explains mileage semantics', asyn test('uses compact Semi telemetry evidence cards on mobile', async () => { layout.mobile = true; - vi.spyOn(api, 'vehicleDetail').mockResolvedValue({ ...detail, sources: ['GB32960', 'JT808', 'YUTONG_MQTT'] }); + vi.spyOn(api, 'vehicleDetail').mockResolvedValue({ + ...detail, + profile: { brandName: '测试品牌', modelName: '移动端完整车型名称' } as never, + sources: ['GB32960', 'JT808', 'YUTONG_MQTT'] + }); vi.spyOn(api, 'vehicleRealtime').mockResolvedValue({ items: [initialRealtime], total: 1, limit: 1, offset: 0 }); vi.spyOn(api, 'latestTelemetry').mockResolvedValue({ vin: initialRealtime.vin, @@ -553,6 +557,7 @@ test('uses compact Semi telemetry evidence cards on mobile', async () => { expect(document.querySelector('.v2-telemetry-detail-protocol')).toHaveClass('semi-tag-cyan-light'); expect(screen.getByRole('button', { name: '关闭遥测字段详情' })).toBeInTheDocument(); expect(document.querySelector('.v2-vehicle-record-page')).toHaveClass('v2-vehicle-record-v3', 'is-mobile-layout'); + expect(document.querySelector('.v2-identity-model strong')).toHaveAttribute('title', '测试品牌 / 移动端完整车型名称'); const mobileActions = screen.getByRole('group', { name: '车辆快捷操作' }); expect(mobileActions.querySelectorAll('.semi-button')).toHaveLength(3); expect(mobileActions).toHaveTextContent('切换车辆轨迹回放更多'); diff --git a/vehicle-data-platform/apps/web/src/v2/pages/VehiclePage.tsx b/vehicle-data-platform/apps/web/src/v2/pages/VehiclePage.tsx index 696c5e78..2cbd718f 100644 --- a/vehicle-data-platform/apps/web/src/v2/pages/VehiclePage.tsx +++ b/vehicle-data-platform/apps/web/src/v2/pages/VehiclePage.tsx @@ -559,7 +559,7 @@ function VehicleRecord({ detail, liveRealtime, telemetry, telemetryPending, tele } description={VIN{detail.vin}