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

Add MessengerReceiveFile function

parent de1baeb1
No related branches found
No related tags found
2 merge requests!123Messenger receive file,!102Release 1.0.0
import Foundation
import XCTestDynamicOverlay
import XXClient
public struct MessengerReceiveFile {
public enum Error: Swift.Error, Equatable {
case notConnected
}
public var run: () throws -> Void
public func callAsFunction() throws -> Void {
try run()
}
}
extension MessengerReceiveFile {
public static func live(_ env: MessengerEnvironment) -> MessengerReceiveFile {
MessengerReceiveFile {
guard let e2e = env.e2e() else {
throw Error.notConnected
}
// TODO: implement receiving file
}
}
}
extension MessengerReceiveFile {
public static let unimplemented = MessengerReceiveFile(
run: XCTUnimplemented("\(Self.self)")
)
}
...@@ -40,6 +40,7 @@ public struct Messenger { ...@@ -40,6 +40,7 @@ public struct Messenger {
public var stopBackup: MessengerStopBackup public var stopBackup: MessengerStopBackup
public var setLogLevel: MessengerSetLogLevel public var setLogLevel: MessengerSetLogLevel
public var startLogging: MessengerStartLogging public var startLogging: MessengerStartLogging
public var receiveFile: MessengerReceiveFile
} }
extension Messenger { extension Messenger {
...@@ -83,7 +84,8 @@ extension Messenger { ...@@ -83,7 +84,8 @@ extension Messenger {
backupParams: .live(env), backupParams: .live(env),
stopBackup: .live(env), stopBackup: .live(env),
setLogLevel: .live(env), setLogLevel: .live(env),
startLogging: .live(env) startLogging: .live(env),
receiveFile: .live(env)
) )
} }
} }
...@@ -128,6 +130,7 @@ extension Messenger { ...@@ -128,6 +130,7 @@ extension Messenger {
backupParams: .unimplemented, backupParams: .unimplemented,
stopBackup: .unimplemented, stopBackup: .unimplemented,
setLogLevel: .unimplemented, setLogLevel: .unimplemented,
startLogging: .unimplemented startLogging: .unimplemented,
receiveFile: .unimplemented
) )
} }
import CustomDump
import XCTest
import XXClient
@testable import XXMessengerClient
final class MessengerReceiveFileTests: XCTestCase {
func testReceiveFile() throws {
var env: MessengerEnvironment = .unimplemented
env.e2e.get = { .unimplemented }
let receiveFile: MessengerReceiveFile = .live(env)
try receiveFile()
}
func testReceiveFileWhenNotConnected() {
var env: MessengerEnvironment = .unimplemented
env.e2e.get = { nil }
let receiveFile: MessengerReceiveFile = .live(env)
XCTAssertThrowsError(try receiveFile()) { error in
XCTAssertNoDifference(
error as? MessengerReceiveFile.Error,
MessengerReceiveFile.Error.notConnected
)
}
}
}
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