diff --git a/Sources/XXClient/Models/ReceivedFile.swift b/Sources/XXClient/Models/ReceivedFile.swift index d5c12370a6a42f2d416007b85c119fe627faffca..8aad9201f0624b3c4de69a7c3613921911c2ff3a 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 2a967cb9ad11742bb871f864cc442c77a0f84070..636f7a5fbae02aaa44c90f9a2cdd4e2018aeee3e 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 + )) + } }