From c38a50a475f791e0c62b6c2d0b62547e4a11e0d5 Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Mon, 19 Sep 2022 07:56:11 +0200 Subject: [PATCH] Make ReceivedFile.preview optional --- Sources/XXClient/Models/ReceivedFile.swift | 4 +-- .../Models/ReceivedFileTests.swift | 28 +++++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/Sources/XXClient/Models/ReceivedFile.swift b/Sources/XXClient/Models/ReceivedFile.swift index d5c12370..8aad9201 100644 --- a/Sources/XXClient/Models/ReceivedFile.swift +++ b/Sources/XXClient/Models/ReceivedFile.swift @@ -4,7 +4,7 @@ public struct ReceivedFile: Equatable { public init( transferId: Data, senderId: Data, - preview: Data, + preview: Data?, name: String, type: String, size: Int @@ -19,7 +19,7 @@ public struct ReceivedFile: Equatable { public var transferId: Data public var senderId: Data - public var preview: Data + public var preview: Data? public var name: String public var type: String public var size: Int diff --git a/Tests/XXClientTests/Models/ReceivedFileTests.swift b/Tests/XXClientTests/Models/ReceivedFileTests.swift index 2a967cb9..636f7a5f 100644 --- a/Tests/XXClientTests/Models/ReceivedFileTests.swift +++ b/Tests/XXClientTests/Models/ReceivedFileTests.swift @@ -37,4 +37,32 @@ final class ReceivedFileTests: XCTestCase { XCTAssertNoDifference(decodedModel, model) } + + func testDecodingWithoutPreview() throws { + let transferIdB64 = "B4Z9cwU18beRoGbk5xBjbcd5Ryi9ZUFA2UBvi8FOHWo=" + let senderIdB64 = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD" + let name = "testfile.txt" + let type = "text file" + let size: Int = 2048 + let jsonString = """ + { + "TransferID": "\(transferIdB64)", + "SenderID": "\(senderIdB64)", + "Name": "\(name)", + "Type": "\(type)", + "Size": \(size) + } + """ + let jsonData = jsonString.data(using: .utf8)! + let model = try ReceivedFile.decode(jsonData) + + XCTAssertNoDifference(model, ReceivedFile( + transferId: Data(base64Encoded: transferIdB64)!, + senderId: Data(base64Encoded: senderIdB64)!, + preview: nil, + name: name, + type: type, + size: size + )) + } } -- GitLab