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

Remove error property from Progress model

parent f2c8408d
No related branches found
No related tags found
2 merge requests!132Update Bindings,!102Release 1.0.0
Showing
with 13 additions and 173 deletions
......@@ -5,14 +5,6 @@ import XXMessengerClient
import XXModels
public struct ReceiveFileHandler {
public struct ProgressError: Error {
public init(message: String) {
self.message = message
}
public var message: String
}
public typealias OnError = (Error) -> Void
public var run: (@escaping OnError) -> Cancellable
......@@ -75,9 +67,6 @@ extension ReceiveFileHandler {
case .failed(.callbackError(let error)):
onError(error)
case .failed(.progressError(let message)):
onError(ProgressError(message: message))
}
}
} catch {
......
......@@ -5,14 +5,6 @@ import XXMessengerClient
import XXModels
public struct SendImage {
public struct ProgressError: Error, Equatable {
public init(message: String) {
self.message = message
}
public var message: String
}
public typealias OnError = (Error) -> Void
public typealias Completion = () -> Void
......@@ -78,9 +70,6 @@ extension SendImage {
case .failed(_, .error(let error)):
onError(error)
case .failed(_, .progressError(let message)):
onError(ProgressError(message: message))
case .failed(_, .close(let error)):
onError(error)
}
......
......@@ -138,14 +138,6 @@ final class ReceiveFileHandlerTests: XCTestCase {
.didCatchError(receivingFileCallbackError)
])
actions = []
let receivingFileProgressError = "receiving-file-progress"
receivingFileCallback?(.failed(.progressError(receivingFileProgressError)))
XCTAssertNoDifference(actions, [
.didCatchError(ReceiveFileHandler.ProgressError(message: receivingFileProgressError) as NSError)
])
actions = []
receivingFileCallback?(.progress(transmitted: 1, total: 2))
......
......@@ -112,14 +112,6 @@ final class SendImageTests: XCTestCase {
.didFail(closeError),
])
actions = []
let progressError = "progress-error"
sendFileCallback?(.failed(id: transferId, .progressError(progressError)))
XCTAssertNoDifference(actions, [
.didFail(SendImage.ProgressError(message: progressError) as NSError),
])
actions = []
sendFileCallback?(.progress(id: transferId, transmitted: 1, total: 2))
......
......@@ -4,19 +4,16 @@ public struct Progress: Equatable {
public init(
completed: Bool,
transmitted: Int,
total: Int,
error: String?
total: Int
) {
self.completed = completed
self.transmitted = transmitted
self.total = total
self.error = error
}
public var completed: Bool
public var transmitted: Int
public var total: Int
public var error: String?
}
extension Progress: Codable {
......@@ -24,7 +21,6 @@ extension Progress: Codable {
case completed = "Completed"
case transmitted = "Transmitted"
case total = "Total"
case error = "Err"
}
public static func decode(_ data: Data) throws -> Self {
......
......@@ -19,7 +19,6 @@ public struct MessengerReceiveFile {
public enum CallbackInfo: Equatable {
public enum Failure: Equatable {
case callbackError(NSError)
case progressError(String)
case receiveError(NSError)
}
......@@ -56,9 +55,7 @@ extension MessengerReceiveFile {
callback: FileTransferProgressCallback { result in
switch result {
case .success(let info):
if let error = info.progress.error {
callback(.failed(.progressError(error)))
} else if info.progress.completed {
if info.progress.completed {
do {
callback(.finished(try fileTransfer.receive(transferId: params.transferId)))
} catch {
......
......@@ -25,7 +25,6 @@ public struct MessengerSendFile {
public enum CallbackInfo: Equatable {
public enum Failure: Equatable {
case error(NSError)
case progressError(String)
case close(NSError)
}
......@@ -81,10 +80,7 @@ extension MessengerSendFile {
close(id: transferId)
case .success(let cb):
if let error = cb.progress.error {
callback(.failed(id: transferId, .progressError(error)))
close(id: transferId)
} else if cb.progress.completed {
if cb.progress.completed {
callback(.finished(id: transferId))
close(id: transferId)
} else {
......
......@@ -11,8 +11,7 @@ final class ProgressTests: XCTestCase {
{
"Completed": \(completed),
"Transmitted": \(transmitted),
"Total": \(total),
"Err": null
"Total": \(total)
}
"""
let jsonData = jsonString.data(using: .utf8)!
......@@ -21,8 +20,7 @@ final class ProgressTests: XCTestCase {
XCTAssertNoDifference(model, Progress(
completed: completed,
transmitted: transmitted,
total: total,
error: nil
total: total
))
let encodedModel = try model.encode()
......@@ -30,28 +28,4 @@ final class ProgressTests: XCTestCase {
XCTAssertNoDifference(decodedModel, model)
}
func testDecodingProgressWithError() throws {
let completed = false
let transmitted: Int = 128
let total: Int = 2048
let error = "something went wrong"
let jsonString = """
{
"Completed": \(completed),
"Transmitted": \(transmitted),
"Total": \(total),
"Err": "\(error)"
}
"""
let jsonData = jsonString.data(using: .utf8)!
let model = try Progress.decode(jsonData)
XCTAssertNoDifference(model, Progress(
completed: completed,
transmitted: transmitted,
total: total,
error: error
))
}
}
......@@ -48,8 +48,7 @@ final class MessengerReceiveFileTests: XCTestCase {
progress: Progress(
completed: false,
transmitted: 1,
total: 3,
error: nil
total: 3
),
partTracker: .unimplemented
)
......@@ -65,8 +64,7 @@ final class MessengerReceiveFileTests: XCTestCase {
progress: Progress(
completed: false,
transmitted: 2,
total: 3,
error: nil
total: 3
),
partTracker: .unimplemented
)
......@@ -82,8 +80,7 @@ final class MessengerReceiveFileTests: XCTestCase {
progress: Progress(
completed: true,
transmitted: 3,
total: 3,
error: nil
total: 3
),
partTracker: .unimplemented
)
......@@ -110,43 +107,6 @@ final class MessengerReceiveFileTests: XCTestCase {
}
}
func testReceiveFileProgressError() throws {
let error = "Something went wrong..."
var receivedProgressCallback: FileTransferProgressCallback?
var didReceiveCallback: [MessengerReceiveFile.CallbackInfo] = []
var env: MessengerEnvironment = .unimplemented
env.fileTransfer.get = {
var fileTransfer: FileTransfer = .unimplemented
fileTransfer.registerReceivedProgressCallback.run = { _, _, callback in
receivedProgressCallback = callback
}
return fileTransfer
}
let receiveFile: MessengerReceiveFile = .live(env)
try receiveFile(.stub) { info in
didReceiveCallback.append(info)
}
receivedProgressCallback?.handle(.success(
FileTransferProgressCallback.Callback(
progress: Progress(
completed: false,
transmitted: 1,
total: 3,
error: error
),
partTracker: .unimplemented
)
))
XCTAssertNoDifference(didReceiveCallback, [
.failed(.progressError(error))
])
}
func testReceiveFileCallbackError() throws {
let error = NSError(domain: "test", code: 123)
......@@ -202,8 +162,7 @@ final class MessengerReceiveFileTests: XCTestCase {
progress: Progress(
completed: true,
transmitted: 3,
total: 3,
error: nil
total: 3
),
partTracker: .unimplemented
)
......
......@@ -47,8 +47,7 @@ final class MessengerSendFileTests: XCTestCase {
progress: Progress(
completed: false,
transmitted: 1,
total: 10,
error: nil
total: 10
),
partTracker: .unimplemented
)))
......@@ -56,8 +55,7 @@ final class MessengerSendFileTests: XCTestCase {
progress: Progress(
completed: false,
transmitted: 6,
total: 10,
error: nil
total: 10
),
partTracker: .unimplemented
)))
......@@ -65,8 +63,7 @@ final class MessengerSendFileTests: XCTestCase {
progress: Progress(
completed: true,
transmitted: 10,
total: 10,
error: nil
total: 10
),
partTracker: .unimplemented
)))
......@@ -124,46 +121,6 @@ final class MessengerSendFileTests: XCTestCase {
XCTAssertNoDifference(didCloseSend, [transferId])
}
func testSendFileProgressError() throws {
var didCloseSend: [Data] = []
var didReceiveCallback: [MessengerSendFile.CallbackInfo] = []
var fileTransferProgressCallback: FileTransferProgressCallback!
var env: MessengerEnvironment = .unimplemented
env.fileTransfer.get = {
var fileTransfer: FileTransfer = .unimplemented
fileTransfer.send.run = { _, callback in
fileTransferProgressCallback = callback
return "transferId".data(using: .utf8)!
}
fileTransfer.closeSend.run = { id in
didCloseSend.append(id)
}
return fileTransfer
}
let sendFile: MessengerSendFile = .live(env)
let transferId = try sendFile(.stub) { info in
didReceiveCallback.append(info)
}
let error = "something went wrong"
fileTransferProgressCallback.handle(.success(.init(
progress: .init(
completed: false,
transmitted: 0,
total: 0,
error: error
),
partTracker: .unimplemented
)))
XCTAssertNoDifference(didReceiveCallback, [
.failed(id: transferId, .progressError(error)),
])
XCTAssertNoDifference(didCloseSend, [transferId])
}
func testSendFileCloseError() throws {
let closeError = NSError(domain: "test", code: 1234)
......@@ -192,8 +149,7 @@ final class MessengerSendFileTests: XCTestCase {
progress: .init(
completed: true,
transmitted: 1,
total: 1,
error: nil
total: 1
),
partTracker: .unimplemented
)))
......
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