Skip to content
Snippets Groups Projects
Commit ef6c6113 authored by Dariusz Rybicki's avatar Dariusz Rybicki
Browse files

Add MessengerIsBackupRunning function

parent 0f47f000
No related branches found
No related tags found
2 merge requests!107Messenger - backup,!102Release 1.0.0
import XCTestDynamicOverlay
import XXClient
public struct MessengerIsBackupRunning {
public var run: () -> Bool
public func callAsFunction() -> Bool {
run()
}
}
extension MessengerIsBackupRunning {
public static func live(_ env: MessengerEnvironment) -> MessengerIsBackupRunning {
MessengerIsBackupRunning {
env.backup()?.isRunning() == true
}
}
}
extension MessengerIsBackupRunning {
public static let unimplemented = MessengerIsBackupRunning(
run: XCTUnimplemented("\(Self.self)")
)
}
......@@ -30,6 +30,7 @@ public struct Messenger {
public var verifyContact: MessengerVerifyContact
public var sendMessage: MessengerSendMessage
public var registerBackupCallback: MessengerRegisterBackupCallback
public var isBackupRunning: MessengerIsBackupRunning
}
extension Messenger {
......@@ -63,7 +64,8 @@ extension Messenger {
registerForNotifications: .live(env),
verifyContact: .live(env),
sendMessage: .live(env),
registerBackupCallback: .live(env)
registerBackupCallback: .live(env),
isBackupRunning: .live(env)
)
}
}
......@@ -98,6 +100,7 @@ extension Messenger {
registerForNotifications: .unimplemented,
verifyContact: .unimplemented,
sendMessage: .unimplemented,
registerBackupCallback: .unimplemented
registerBackupCallback: .unimplemented,
isBackupRunning: .unimplemented
)
}
......@@ -4,6 +4,7 @@ import XCTestDynamicOverlay
public struct MessengerEnvironment {
public var authCallbacks: AuthCallbacksRegistry
public var backup: Stored<Backup?>
public var backupCallbacks: BackupCallbacksRegistry
public var cMix: Stored<CMix?>
public var downloadNDF: DownloadAndVerifySignedNdf
......@@ -46,6 +47,7 @@ extension MessengerEnvironment {
public static func live() -> MessengerEnvironment {
MessengerEnvironment(
authCallbacks: .live(),
backup: .inMemory(),
backupCallbacks: .live(),
cMix: .inMemory(),
downloadNDF: .live,
......@@ -83,6 +85,7 @@ extension MessengerEnvironment {
extension MessengerEnvironment {
public static let unimplemented = MessengerEnvironment(
authCallbacks: .unimplemented,
backup: .unimplemented(),
backupCallbacks: .unimplemented,
cMix: .unimplemented(),
downloadNDF: .unimplemented,
......
import XCTest
import XXClient
@testable import XXMessengerClient
final class MessengerIsBackupRunningTests: XCTestCase {
func testWithoutBackup() {
var env: MessengerEnvironment = .unimplemented
env.backup.get = { nil }
let isRunning: MessengerIsBackupRunning = .live(env)
XCTAssertFalse(isRunning())
}
func testWithBackupRunning() {
var env: MessengerEnvironment = .unimplemented
env.backup.get = {
var backup: Backup = .unimplemented
backup.isRunning.run = { true }
return backup
}
let isRunning: MessengerIsBackupRunning = .live(env)
XCTAssertTrue(isRunning())
}
func testWithBackupNotRunning() {
var env: MessengerEnvironment = .unimplemented
env.backup.get = {
var backup: Backup = .unimplemented
backup.isRunning.run = { false }
return backup
}
let isRunning: MessengerIsBackupRunning = .live(env)
XCTAssertFalse(isRunning())
}
}
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