Skip to content
Snippets Groups Projects
Commit 82174be9 authored by Bruno Muniz's avatar Bruno Muniz :apple:
Browse files

Add mock implementation of SendReport and ReportingStatus

parent 6b233498
No related branches found
No related tags found
2 merge requests!77Releasing 1.1.6 (219),!73Fix mock missing dependency issue
......@@ -57,6 +57,8 @@ struct DependencyRegistrator {
container.register(XXLogger.noop)
container.register(CrashReporter.noop)
container.register(VersionChecker.mock)
container.register(ReportingStatus.mock())
container.register(SendReport.mock())
container.register(XXNetwork<BindingsMock>() as XXNetworking)
container.register(MockNetworkMonitor() as NetworkMonitoring)
container.register(KeyObjectStore.userDefaults)
......@@ -81,6 +83,8 @@ struct DependencyRegistrator {
container.register(XXLogger.live())
container.register(CrashReporter.live)
container.register(VersionChecker.live())
container.register(ReportingStatus.live())
container.register(SendReport.live)
container.register(XXNetwork<BindingsClient>() as XXNetworking)
container.register(NetworkMonitor() as NetworkMonitoring)
......@@ -103,9 +107,7 @@ struct DependencyRegistrator {
static private func registerCommonDependencies() {
container.register(Voxophone())
container.register(BackupService())
container.register(ReportingStatus.live())
container.register(MakeAppScreenshot.live)
container.register(SendReport.live)
container.register(FetchBannedList.live)
container.register(ProcessBannedList.live)
container.register(MakeReportDrawer.live)
......
......@@ -35,4 +35,17 @@ extension ReportingStatus {
}
)
}
public static func mock(
isEnabled: Bool = false,
isOptional: Bool = true
) -> ReportingStatus {
let isEnabledSubject = CurrentValueSubject<Bool, Never>(isEnabled)
return ReportingStatus(
isOptional: { isOptional },
isEnabled: { isEnabledSubject.value },
isEnabledPublisher: { isEnabledSubject.eraseToAnyPublisher() },
enable: { isEnabledSubject.send($0) }
)
}
}
......@@ -37,6 +37,18 @@ extension SendReport {
}
task.resume()
}
public static func mock(
result: Result<Void, Error> = .success(())
) -> SendReport {
SendReport { report, completion in
print("[SendReport.mock] Sending report: \(report)")
DispatchQueue.main.asyncAfter(deadline: .now() + 3) {
print("[SendReport.mock] Sending report finished")
completion(result)
}
}
}
}
extension SendReport {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment