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

Add error property to Progress model

parent 4a04d14d
No related branches found
No related tags found
2 merge requests!102Release 1.0.0,!18Update Bindings
...@@ -4,18 +4,19 @@ public struct Progress: Equatable { ...@@ -4,18 +4,19 @@ public struct Progress: Equatable {
public init( public init(
completed: Bool, completed: Bool,
transmitted: Int, transmitted: Int,
total: Int total: Int,
error: String?
) { ) {
self.completed = completed self.completed = completed
self.transmitted = transmitted self.transmitted = transmitted
self.total = total self.total = total
self.error = error
} }
public var completed: Bool public var completed: Bool
public var transmitted: Int public var transmitted: Int
public var total: Int public var total: Int
// TODO: add error public var error: String?
// public var error: ???
} }
extension Progress: Codable { extension Progress: Codable {
...@@ -23,8 +24,7 @@ extension Progress: Codable { ...@@ -23,8 +24,7 @@ extension Progress: Codable {
case completed = "Completed" case completed = "Completed"
case transmitted = "Transmitted" case transmitted = "Transmitted"
case total = "Total" case total = "Total"
// TODO: add error case error = "Err"
// case error = "Err"
} }
public static func decode(_ data: Data) throws -> Self { public static func decode(_ data: Data) throws -> Self {
......
...@@ -21,7 +21,8 @@ final class ProgressTests: XCTestCase { ...@@ -21,7 +21,8 @@ final class ProgressTests: XCTestCase {
XCTAssertNoDifference(progress, Progress( XCTAssertNoDifference(progress, Progress(
completed: completed, completed: completed,
transmitted: transmitted, transmitted: transmitted,
total: total total: total,
error: nil
)) ))
let encodedProgress = try progress.encode() let encodedProgress = try progress.encode()
...@@ -29,4 +30,28 @@ final class ProgressTests: XCTestCase { ...@@ -29,4 +30,28 @@ final class ProgressTests: XCTestCase {
XCTAssertNoDifference(decodedProgress, progress) XCTAssertNoDifference(decodedProgress, progress)
} }
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 progress = try Progress.decode(jsonData)
XCTAssertNoDifference(progress, Progress(
completed: completed,
transmitted: transmitted,
total: total,
error: error
))
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment