From 393e17ff0550d5c202528cb6b5ed47bcb8433279 Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Mon, 17 Oct 2022 00:32:43 +0200 Subject: [PATCH] Use ReceiveFileCallbacksRegistry --- .../Functions/MessengerStartFileTransfer.swift | 4 +--- .../Messenger/MessengerEnvironment.swift | 3 +++ .../MessengerStartFileTransferTests.swift | 18 ++++++++++++++++++ 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/Sources/XXMessengerClient/Messenger/Functions/MessengerStartFileTransfer.swift b/Sources/XXMessengerClient/Messenger/Functions/MessengerStartFileTransfer.swift index 4a8e460d..2ce92adf 100644 --- a/Sources/XXMessengerClient/Messenger/Functions/MessengerStartFileTransfer.swift +++ b/Sources/XXMessengerClient/Messenger/Functions/MessengerStartFileTransfer.swift @@ -25,9 +25,7 @@ extension MessengerStartFileTransfer { e2eFileTransferParamsJSON: env.getE2EFileTransferParams(), fileTransferParamsJSON: env.getFileTransferParams() ), - callback: ReceiveFileCallback { result in - // TODO: - } + callback: env.receiveFileCallbacksRegistry.registered() ) env.fileTransfer.set(fileTransfer) } diff --git a/Sources/XXMessengerClient/Messenger/MessengerEnvironment.swift b/Sources/XXMessengerClient/Messenger/MessengerEnvironment.swift index 30f3b22e..dcb706d4 100644 --- a/Sources/XXMessengerClient/Messenger/MessengerEnvironment.swift +++ b/Sources/XXMessengerClient/Messenger/MessengerEnvironment.swift @@ -33,6 +33,7 @@ public struct MessengerEnvironment { public var newOrLoadUd: NewOrLoadUd public var newUdManagerFromBackup: NewUdManagerFromBackup public var passwordStorage: PasswordStorage + public var receiveFileCallbacksRegistry: ReceiveFileCallbacksRegistry public var registerForNotifications: RegisterForNotifications public var registerLogWriter: RegisterLogWriter public var resumeBackup: ResumeBackup @@ -83,6 +84,7 @@ extension MessengerEnvironment { newOrLoadUd: .live, newUdManagerFromBackup: .live, passwordStorage: .keychain, + receiveFileCallbacksRegistry: .live(), registerForNotifications: .live, registerLogWriter: .live, resumeBackup: .live, @@ -128,6 +130,7 @@ extension MessengerEnvironment { newOrLoadUd: .unimplemented, newUdManagerFromBackup: .unimplemented, passwordStorage: .unimplemented, + receiveFileCallbacksRegistry: .unimplemented, registerForNotifications: .unimplemented, registerLogWriter: .unimplemented, resumeBackup: .unimplemented, diff --git a/Tests/XXMessengerClientTests/Messenger/Functions/MessengerStartFileTransferTests.swift b/Tests/XXMessengerClientTests/Messenger/Functions/MessengerStartFileTransferTests.swift index 5164700f..f0da2047 100644 --- a/Tests/XXMessengerClientTests/Messenger/Functions/MessengerStartFileTransferTests.swift +++ b/Tests/XXMessengerClientTests/Messenger/Functions/MessengerStartFileTransferTests.swift @@ -12,6 +12,7 @@ final class MessengerStartFileTransferTests: XCTestCase { var didInitFileTransfer: [InitFileTransfer.Params] = [] var receiveFileCallback: ReceiveFileCallback? var didSetFileTransfer: [FileTransfer?] = [] + var didReceiveFile: [ReceiveFileCallback.Result] = [] var env: MessengerEnvironment = .unimplemented env.e2e.get = { @@ -33,6 +34,11 @@ final class MessengerStartFileTransferTests: XCTestCase { env.fileTransfer.set = { didSetFileTransfer.append($0) } + env.receiveFileCallbacksRegistry.registered = { + ReceiveFileCallback { result in + didReceiveFile.append(result) + } + } let start: MessengerStartFileTransfer = .live(env) @@ -45,6 +51,17 @@ final class MessengerStartFileTransferTests: XCTestCase { )]) XCTAssertNotNil(receiveFileCallback) XCTAssertNoDifference(didSetFileTransfer.map { $0 != nil }, [true]) + + let error = NSError(domain: "test", code: 7) + receiveFileCallback?.handle(.success(.stub(1))) + receiveFileCallback?.handle(.failure(error)) + receiveFileCallback?.handle(.success(.stub(2))) + + XCTAssertNoDifference(didReceiveFile, [ + .success(.stub(1)), + .failure(error), + .success(.stub(2)), + ]) } func testStartWhenNotConnected() { @@ -60,3 +77,4 @@ final class MessengerStartFileTransferTests: XCTestCase { } } } + -- GitLab