Stabilize unit and UI tests for SportsTime
This commit is contained in:
@@ -22,8 +22,8 @@ struct Bug1_TeamFirstSingleTeamTests {
|
||||
planningMode: .teamFirst,
|
||||
sports: [.mlb],
|
||||
travelMode: .drive,
|
||||
startDate: Date(),
|
||||
endDate: Calendar.current.date(byAdding: .day, value: 7, to: Date())!,
|
||||
startDate: TestClock.now,
|
||||
endDate: TestClock.calendar.date(byAdding: .day, value: 7, to: TestClock.now)!,
|
||||
leisureLevel: .moderate,
|
||||
routePreference: .balanced,
|
||||
selectedTeamIds: ["team_mlb_boston"]
|
||||
@@ -47,8 +47,8 @@ struct Bug1_TeamFirstSingleTeamTests {
|
||||
planningMode: .teamFirst,
|
||||
sports: [.mlb],
|
||||
travelMode: .drive,
|
||||
startDate: Date(),
|
||||
endDate: Calendar.current.date(byAdding: .day, value: 7, to: Date())!,
|
||||
startDate: TestClock.now,
|
||||
endDate: TestClock.calendar.date(byAdding: .day, value: 7, to: TestClock.now)!,
|
||||
leisureLevel: .moderate,
|
||||
routePreference: .balanced,
|
||||
selectedTeamIds: ["team_mlb_boston", "team_mlb_new_york"]
|
||||
@@ -73,7 +73,7 @@ struct Bug2_InfiniteLoopTests {
|
||||
|
||||
@Test("calculateRestDays does not hang for normal multi-day stop")
|
||||
func calculateRestDays_normalMultiDay_terminates() {
|
||||
let calendar = Calendar.current
|
||||
let calendar = TestClock.calendar
|
||||
let arrival = TestFixtures.date(year: 2026, month: 6, day: 10, hour: 12)
|
||||
let departure = TestFixtures.date(year: 2026, month: 6, day: 14, hour: 12)
|
||||
|
||||
@@ -236,7 +236,7 @@ struct Bug5_ScenarioDDepartureDateTests {
|
||||
@Test("stop departureDate should be after last game, not same day")
|
||||
func departureDate_shouldBeAfterLastGame() {
|
||||
let gameDate = TestFixtures.date(year: 2026, month: 7, day: 5, hour: 19)
|
||||
let calendar = Calendar.current
|
||||
let calendar = TestClock.calendar
|
||||
|
||||
let bostonStadium = TestFixtures.stadium(city: "Boston")
|
||||
let game = TestFixtures.game(id: "g1", city: "Boston", dateTime: gameDate, stadiumId: bostonStadium.id)
|
||||
@@ -283,7 +283,7 @@ struct Bug6_ScenarioCDateRangeTests {
|
||||
@Test("games spanning exactly daySpan should be included")
|
||||
func gamesSpanningExactDaySpan_shouldBeIncluded() {
|
||||
// If daySpan is 7, games exactly 7 days apart should be valid
|
||||
let calendar = Calendar.current
|
||||
let calendar = TestClock.calendar
|
||||
let startDate = TestFixtures.date(year: 2026, month: 7, day: 1, hour: 19)
|
||||
let endDate = calendar.date(byAdding: .day, value: 7, to: startDate)!
|
||||
|
||||
@@ -341,8 +341,8 @@ struct Bug7_DrivingConstraintsClampTests {
|
||||
planningMode: .dateRange,
|
||||
sports: [.mlb],
|
||||
travelMode: .drive,
|
||||
startDate: Date(),
|
||||
endDate: Calendar.current.date(byAdding: .day, value: 7, to: Date())!,
|
||||
startDate: TestClock.now,
|
||||
endDate: TestClock.calendar.date(byAdding: .day, value: 7, to: TestClock.now)!,
|
||||
leisureLevel: .moderate,
|
||||
routePreference: .balanced,
|
||||
maxDrivingHoursPerDriver: 0.5
|
||||
@@ -365,8 +365,8 @@ struct Bug7_DrivingConstraintsClampTests {
|
||||
planningMode: .dateRange,
|
||||
sports: [.mlb],
|
||||
travelMode: .drive,
|
||||
startDate: Date(),
|
||||
endDate: Calendar.current.date(byAdding: .day, value: 7, to: Date())!,
|
||||
startDate: TestClock.now,
|
||||
endDate: TestClock.calendar.date(byAdding: .day, value: 7, to: TestClock.now)!,
|
||||
leisureLevel: .moderate,
|
||||
routePreference: .balanced,
|
||||
maxDrivingHoursPerDriver: nil
|
||||
@@ -522,18 +522,18 @@ struct Bug11_SortByLeisureTests {
|
||||
city: "Boston", state: "MA",
|
||||
coordinate: TestFixtures.coordinates["Boston"],
|
||||
games: ["g1", "g2", "g3"],
|
||||
arrivalDate: Date(), departureDate: Date().addingTimeInterval(86400),
|
||||
arrivalDate: TestClock.now, departureDate: TestClock.now.addingTimeInterval(86400),
|
||||
location: LocationInput(name: "Boston", coordinate: TestFixtures.coordinates["Boston"]),
|
||||
firstGameStart: Date()
|
||||
firstGameStart: TestClock.now
|
||||
)
|
||||
|
||||
let stop2 = ItineraryStop(
|
||||
city: "Boston", state: "MA",
|
||||
coordinate: TestFixtures.coordinates["Boston"],
|
||||
games: ["g4"],
|
||||
arrivalDate: Date(), departureDate: Date().addingTimeInterval(86400),
|
||||
arrivalDate: TestClock.now, departureDate: TestClock.now.addingTimeInterval(86400),
|
||||
location: LocationInput(name: "Boston", coordinate: TestFixtures.coordinates["Boston"]),
|
||||
firstGameStart: Date()
|
||||
firstGameStart: TestClock.now
|
||||
)
|
||||
|
||||
let option3Games = ItineraryOption(
|
||||
@@ -563,7 +563,7 @@ struct Bug12_ValidatorGameEndTimeTests {
|
||||
@Test("validator checks arrival feasibility with buffer")
|
||||
func validator_checksArrivalBuffer() {
|
||||
// Use deterministic dates to avoid time-of-day sensitivity
|
||||
let calendar = Calendar.current
|
||||
let calendar = TestClock.calendar
|
||||
let today = TestFixtures.date(year: 2026, month: 7, day: 10, hour: 14) // 2pm today
|
||||
let tomorrow = calendar.date(byAdding: .day, value: 1, to: today)!
|
||||
let tomorrowMorning = TestFixtures.date(year: 2026, month: 7, day: 11, hour: 8) // 8am departure
|
||||
@@ -735,13 +735,13 @@ struct TravelEstimatorConsistencyTests {
|
||||
// ItineraryStop overload
|
||||
let fromStop = ItineraryStop(
|
||||
city: "Boston", state: "MA", coordinate: bostonCoord,
|
||||
games: [], arrivalDate: Date(), departureDate: Date(),
|
||||
games: [], arrivalDate: TestClock.now, departureDate: TestClock.now,
|
||||
location: LocationInput(name: "Boston", coordinate: bostonCoord),
|
||||
firstGameStart: nil
|
||||
)
|
||||
let toStop = ItineraryStop(
|
||||
city: "New York", state: "NY", coordinate: nycCoord,
|
||||
games: [], arrivalDate: Date(), departureDate: Date(),
|
||||
games: [], arrivalDate: TestClock.now, departureDate: TestClock.now,
|
||||
location: LocationInput(name: "New York", coordinate: nycCoord),
|
||||
firstGameStart: nil
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user