mirror of
https://github.com/bitwarden/ios.git
synced 2025-12-10 17:46:07 -06:00
59 lines
1.9 KiB
Swift
59 lines
1.9 KiB
Swift
import BitwardenKit
|
|
import BitwardenKitMocks
|
|
|
|
/// The services provided by the test `ServiceContainer`.
|
|
///
|
|
typealias Services = HasConfigService
|
|
& HasEnvironmentService
|
|
& HasErrorReportBuilder
|
|
& HasErrorReporter
|
|
& HasFlightRecorder
|
|
& HasTimeProvider
|
|
|
|
/// A service container used for testing processors within `BitwardenKitTests`.
|
|
///
|
|
class ServiceContainer: Services {
|
|
let configService: ConfigService
|
|
let environmentService: EnvironmentService
|
|
let errorReportBuilder: any ErrorReportBuilder
|
|
let errorReporter: ErrorReporter
|
|
let flightRecorder: FlightRecorder
|
|
let timeProvider: TimeProvider
|
|
|
|
required init(
|
|
configService: ConfigService,
|
|
environmentService: EnvironmentService,
|
|
errorReportBuilder: ErrorReportBuilder,
|
|
errorReporter: ErrorReporter,
|
|
flightRecorder: FlightRecorder,
|
|
timeProvider: TimeProvider,
|
|
) {
|
|
self.configService = configService
|
|
self.errorReportBuilder = errorReportBuilder
|
|
self.environmentService = environmentService
|
|
self.errorReporter = errorReporter
|
|
self.flightRecorder = flightRecorder
|
|
self.timeProvider = timeProvider
|
|
}
|
|
}
|
|
|
|
extension ServiceContainer {
|
|
static func withMocks(
|
|
configService: ConfigService = MockConfigService(),
|
|
errorReportBuilder: ErrorReportBuilder = MockErrorReportBuilder(),
|
|
environmentService: EnvironmentService = MockEnvironmentService(),
|
|
errorReporter: ErrorReporter = MockErrorReporter(),
|
|
flightRecorder: FlightRecorder = MockFlightRecorder(),
|
|
timeProvider: TimeProvider = MockTimeProvider(.currentTime),
|
|
) -> ServiceContainer {
|
|
self.init(
|
|
configService: configService,
|
|
environmentService: environmentService,
|
|
errorReportBuilder: errorReportBuilder,
|
|
errorReporter: errorReporter,
|
|
flightRecorder: flightRecorder,
|
|
timeProvider: timeProvider,
|
|
)
|
|
}
|
|
}
|