fix(platform): align vehicle detail service statuses
This commit is contained in:
@@ -259,6 +259,15 @@ func TestHandlerVehicleServiceIncludesVehicleLevelStatus(t *testing.T) {
|
||||
if body.Data.ServiceStatus.OnlineSourceCount != 1 || body.Data.ServiceStatus.SourceCount != 3 {
|
||||
t.Fatalf("vehicle service should expose source counts, got %+v body=%s", body.Data.ServiceStatus, rec.Body.String())
|
||||
}
|
||||
if body.Data.Resolution == nil || body.Data.Resolution.ServiceStatus == nil || body.Data.Resolution.ServiceStatus.Title != body.Data.ServiceStatus.Title {
|
||||
t.Fatalf("resolution should reuse canonical vehicle service status, resolution=%+v service=%+v", body.Data.Resolution, body.Data.ServiceStatus)
|
||||
}
|
||||
if body.Data.Identity == nil || body.Data.Identity.ServiceStatus == nil || body.Data.Identity.ServiceStatus.Title != body.Data.ServiceStatus.Title {
|
||||
t.Fatalf("identity should reuse canonical vehicle service status, identity=%+v service=%+v", body.Data.Identity, body.Data.ServiceStatus)
|
||||
}
|
||||
if body.Data.RealtimeSummary == nil || body.Data.RealtimeSummary.ServiceStatus == nil || body.Data.RealtimeSummary.ServiceStatus.Title != body.Data.ServiceStatus.Title {
|
||||
t.Fatalf("realtime summary should reuse canonical vehicle service status, summary=%+v service=%+v", body.Data.RealtimeSummary, body.Data.ServiceStatus)
|
||||
}
|
||||
}
|
||||
|
||||
func TestHandlerVehicleServiceIncludesUnifiedOverview(t *testing.T) {
|
||||
|
||||
@@ -291,6 +291,16 @@ func (s *Service) VehicleDetail(ctx context.Context, vin string, protocol string
|
||||
sourceStatus := vehicleSourceStatus(vehicles.Items, realtime.Items, history.Items, raw.Items, mileage.Items)
|
||||
sourceStatus = s.enrichVehicleSourceStatus(ctx, queryVIN, sourceStatus)
|
||||
sourceStatus = completeVehicleSourceStatus(sourceStatus, protocol)
|
||||
serviceStatus := buildVehicleServiceStatus(true, sourceStatus)
|
||||
resolution.ServiceStatus = serviceStatus
|
||||
if identity != nil {
|
||||
identity.ServiceStatus = serviceStatus
|
||||
}
|
||||
if summary != nil {
|
||||
summary.ServiceStatus = serviceStatus
|
||||
}
|
||||
serviceOverview := buildVehicleServiceOverview(resolvedVIN, keyword, &resolution, identity, summary, sourceStatus, history, raw, mileage, quality)
|
||||
serviceOverview.ServiceStatus = serviceStatus
|
||||
return VehicleDetail{
|
||||
VIN: resolvedVIN,
|
||||
LookupKey: keyword,
|
||||
@@ -298,8 +308,8 @@ func (s *Service) VehicleDetail(ctx context.Context, vin string, protocol string
|
||||
Resolution: &resolution,
|
||||
Identity: identity,
|
||||
RealtimeSummary: summary,
|
||||
ServiceStatus: buildVehicleServiceStatus(true, sourceStatus),
|
||||
ServiceOverview: buildVehicleServiceOverview(resolvedVIN, keyword, &resolution, identity, summary, sourceStatus, history, raw, mileage, quality),
|
||||
ServiceStatus: serviceStatus,
|
||||
ServiceOverview: serviceOverview,
|
||||
SourceConsistency: buildVehicleSourceConsistency(sourceStatus, realtime.Items, protocol),
|
||||
Sources: sourceNames(sourceStatus),
|
||||
SourceStatus: sourceStatus,
|
||||
|
||||
Reference in New Issue
Block a user