This commit is contained in:
Michael Freno
2026-01-27 14:12:24 -05:00
parent fda136f3d4
commit f8868c9253
31 changed files with 2030 additions and 1790 deletions

View File

@@ -202,28 +202,28 @@ extension AppSettings {
@MainActor
func createTestContainer(
settings: AppSettings = .defaults
) -> ServiceContainer {
return ServiceContainer.forTesting(settings: settings)
) -> TestServiceContainer {
return TestServiceContainer(settings: settings)
}
/// Creates a complete test environment with all mocks
@MainActor
struct TestEnvironment {
let container: ServiceContainer
let container: TestServiceContainer
let windowManager: MockWindowManager
let settingsManager: EnhancedMockSettingsManager
let timeProvider: MockTimeProvider
init(settings: AppSettings = .defaults) {
self.settingsManager = EnhancedMockSettingsManager(settings: settings)
self.container = ServiceContainer(settingsManager: settingsManager)
self.container = TestServiceContainer(settingsManager: settingsManager)
self.windowManager = MockWindowManager()
self.timeProvider = MockTimeProvider()
}
/// Creates an AppDelegate with all test dependencies
func createAppDelegate() -> AppDelegate {
return AppDelegate(serviceContainer: container, windowManager: windowManager)
return AppDelegate(serviceContainer: serviceContainer, windowManager: windowManager)
}
/// Resets all mock state
@@ -231,6 +231,13 @@ struct TestEnvironment {
windowManager.reset()
settingsManager.reset()
}
private var serviceContainer: ServiceContainer {
ServiceContainer(
settingsManager: settingsManager,
enforceModeService: EnforceModeService.shared
)
}
}
// MARK: - XCTest Extensions