feat: surface SCUM vehicle functional state

This commit is contained in:
npc0-hue
2026-09-18 16:56:36 +08:00
parent 156392df1e
commit 60d479db71
13 changed files with 62 additions and 17 deletions
+3 -2
View File
@@ -15,6 +15,7 @@ func TestSCUMFactIngestMaintainsPlatformTablesAndWelcomeQueue(t *testing.T) {
gold := int64(3)
exists := true
locked := true
functional := true
observedAt := fixedTime.Add(-1 * time.Minute)
result, err := svc.IngestSCUMFacts(domain.SCUMFactIngest{
@@ -26,7 +27,7 @@ func TestSCUMFactIngestMaintainsPlatformTablesAndWelcomeQueue(t *testing.T) {
ObservedAt: observedAt, LoginObservedAt: observedAt, Position: &domain.SCUMPosition{X: 10, Y: 20, Z: 3}, BankBalance: &bank, GoldBars: &gold, RiddenGameVehicleID: "game-veh-1",
}},
Vehicles: []domain.SCUMVehicleFact{{
GameVehicleID: "game-veh-1", VehicleClass: "BPC_Laika_C", DisplayName: "Laika", Exists: &exists, Locked: &locked, LockedBySteamID: "76561198000000001", LockedAt: observedAt, ObservedAt: observedAt, Position: &domain.SCUMPosition{X: 400, Y: 200, Z: 0},
GameVehicleID: "game-veh-1", VehicleClass: "BPC_Laika_C", DisplayName: "Laika", Exists: &exists, Locked: &locked, Functional: &functional, LockedBySteamID: "76561198000000001", LockedAt: observedAt, ObservedAt: observedAt, Position: &domain.SCUMPosition{X: 400, Y: 200, Z: 0},
}},
})
if err != nil {
@@ -61,7 +62,7 @@ func TestSCUMFactIngestMaintainsPlatformTablesAndWelcomeQueue(t *testing.T) {
t.Fatalf("unexpected user trajectory rows: rows=%+v err=%v", userTracks, err)
}
vehicles, err := svc.ListSCUMVehiclesForSession(session, domain.SCUMVehicleFilter{ServerInstanceID: instance.ID})
if err != nil || len(vehicles) != 1 || vehicles[0].GameVehicleID != "game-veh-1" || !vehicles[0].Exists || !vehicles[0].Locked {
if err != nil || len(vehicles) != 1 || vehicles[0].GameVehicleID != "game-veh-1" || !vehicles[0].Exists || !vehicles[0].Locked || vehicles[0].Functional == nil || !*vehicles[0].Functional {
t.Fatalf("unexpected SCUM vehicles: vehicles=%+v err=%v", vehicles, err)
}
vehicleTracks, err := svc.ListSCUMVehicleTrajectoriesForSession(session, domain.SCUMVehicleTrajectoryFilter{ServerInstanceID: instance.ID})