Skip to content
Snippets Groups Projects
Select Git revision
  • 75b901ad30fd3b3d03fa3f5c5cbcab97328e24d0
  • main default protected
  • development
  • integration
  • v1.1.5
  • v1.1.4
  • v1.1.3
  • v1.1.2
  • v1.1.1
  • v1.1.0
  • v1.0.0
11 results

ReceivedFileTests.swift

Blame
  • ReceivedFileTests.swift 1.12 KiB
    import CustomDump
    import XCTest
    @testable import XXClient
    
    final class ReceivedFileTests: XCTestCase {
      func testCoding() throws {
        let transferIdB64 = "B4Z9cwU18beRoGbk5xBjbcd5Ryi9ZUFA2UBvi8FOHWo="
        let senderIdB64 = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"
        let previewB64 = "aXQncyBtZSBhIHByZXZpZXc="
        let name = "testfile.txt"
        let type = "text file"
        let size: Int = 2048
        let jsonString = """
        {
          "TransferID": "\(transferIdB64)",
          "SenderID": "\(senderIdB64)",
          "Preview": "\(previewB64)",
          "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: Data(base64Encoded: previewB64)!,
          name: name,
          type: type,
          size: size
        ))
    
        let encodedModel = try model.encode()
        let decodedModel = try ReceivedFile.decode(encodedModel)
    
        XCTAssertNoDifference(decodedModel, model)
      }
    }