import CustomDump import XCTest @testable import ElixxirDAppsSDK final class SingleUseCallbackReportTests: XCTestCase { func testCoding() throws { let rounds: [Int] = [1, 5, 9] let payloadB64 = "rSuPD35ELWwm5KTR9ViKIz/r1YGRgXIl5792SF8o8piZzN6sT4Liq4rUU/nfOPvQEjbfWNh/NYxdJ72VctDnWw==" let partnerB64 = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD" let ephId: Int64 = 1_655_533 let receptionIdB64 = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD" let jsonString = """ { "Rounds": [\(rounds.map { "\($0)" }.joined(separator: ", "))], "Payload": "\(payloadB64)", "Partner": "\(partnerB64)", "EphID": \(ephId), "ReceptionID": "\(receptionIdB64)" } """ let jsonData = jsonString.data(using: .utf8)! let model = try SingleUseCallbackReport.decode(jsonData) XCTAssertNoDifference(model, SingleUseCallbackReport( rounds: rounds, payload: Data(base64Encoded: payloadB64)!, partner: Data(base64Encoded: partnerB64)!, ephId: ephId, receptionId: Data(base64Encoded: receptionIdB64)! )) let encodedModel = try model.encode() let decodedModel = try SingleUseCallbackReport.decode(encodedModel) XCTAssertNoDifference(decodedModel, model) } }