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

Revert "Remove MessengerReceiveFile function"

This reverts commit ff222fa4.
parent a11960d9
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)")
)
}
......@@ -42,6 +42,7 @@ public struct Messenger {
public var startLogging: MessengerStartLogging
public var startFileTransfer: MessengerStartFileTransfer
public var sendFile: MessengerSendFile
public var receiveFile: MessengerReceiveFile
}
extension Messenger {
......@@ -87,7 +88,8 @@ extension Messenger {
setLogLevel: .live(env),
startLogging: .live(env),
startFileTransfer: .live(env),
sendFile: .live(env)
sendFile: .live(env),
receiveFile: .live(env)
)
}
}
......@@ -134,6 +136,7 @@ extension Messenger {
setLogLevel: .unimplemented,
startLogging: .unimplemented,
startFileTransfer: .unimplemented,
sendFile: .unimplemented
sendFile: .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