// // TripWizardViewModelTests.swift // SportsTimeTests // import XCTest @testable import SportsTime final class TripWizardViewModelTests: XCTestCase { func test_initialState_onlyPlanningModeStepVisible() { let viewModel = TripWizardViewModel() XCTAssertTrue(viewModel.isPlanningModeStepVisible) XCTAssertFalse(viewModel.isSportsStepVisible) XCTAssertFalse(viewModel.isDatesStepVisible) XCTAssertFalse(viewModel.isRegionsStepVisible) } func test_selectingPlanningMode_revealsSportsStep() { let viewModel = TripWizardViewModel() viewModel.planningMode = .dateRange XCTAssertTrue(viewModel.isSportsStepVisible) } func test_selectingSport_revealsDatesStep() { let viewModel = TripWizardViewModel() viewModel.planningMode = .dateRange viewModel.selectedSports = [.mlb] XCTAssertTrue(viewModel.isDatesStepVisible) } func test_changingPlanningMode_resetsDownstreamSelections() { let viewModel = TripWizardViewModel() viewModel.planningMode = .dateRange viewModel.selectedSports = [.mlb, .nba] viewModel.hasSetDates = true viewModel.planningMode = .gameFirst XCTAssertTrue(viewModel.selectedSports.isEmpty) XCTAssertFalse(viewModel.hasSetDates) } }