From b84fd4027a14c048ff3db733f407d7a02b17e080 Mon Sep 17 00:00:00 2001
From: Dariusz Rybicki <dariusz@elixxir.io>
Date: Thu, 8 Sep 2022 23:03:54 +0200
Subject: [PATCH] Update SingleUseResponseReport model

---
 Sources/XXClient/Models/SingleUseResponseReport.swift       | 4 ++++
 .../XXClientTests/Models/SingleUseResponseReportTests.swift | 6 ++++++
 2 files changed, 10 insertions(+)

diff --git a/Sources/XXClient/Models/SingleUseResponseReport.swift b/Sources/XXClient/Models/SingleUseResponseReport.swift
index 788ca27c..8c509749 100644
--- a/Sources/XXClient/Models/SingleUseResponseReport.swift
+++ b/Sources/XXClient/Models/SingleUseResponseReport.swift
@@ -3,12 +3,14 @@ import Foundation
 public struct SingleUseResponseReport: Equatable {
   public init(
     rounds: [Int],
+    roundURL: String,
     payload: Data,
     ephId: Int64,
     receptionId: Data,
     error: String?
   ) {
     self.rounds = rounds
+    self.roundURL = roundURL
     self.payload = payload
     self.ephId = ephId
     self.receptionId = receptionId
@@ -16,6 +18,7 @@ public struct SingleUseResponseReport: Equatable {
   }
 
   public var rounds: [Int]
+  public var roundURL: String
   public var payload: Data
   public var ephId: Int64
   public var receptionId: Data
@@ -25,6 +28,7 @@ public struct SingleUseResponseReport: Equatable {
 extension SingleUseResponseReport: Codable {
   enum CodingKeys: String, CodingKey {
     case rounds = "Rounds"
+    case roundURL = "RoundURL"
     case payload = "Payload"
     case ephId = "EphID"
     case receptionId = "ReceptionID"
diff --git a/Tests/XXClientTests/Models/SingleUseResponseReportTests.swift b/Tests/XXClientTests/Models/SingleUseResponseReportTests.swift
index 087ac8cf..1cec51eb 100644
--- a/Tests/XXClientTests/Models/SingleUseResponseReportTests.swift
+++ b/Tests/XXClientTests/Models/SingleUseResponseReportTests.swift
@@ -5,12 +5,14 @@ import XCTest
 final class SingleUseResponseReportTests: XCTestCase {
   func testCoding() throws {
     let rounds: [Int] = [1, 5, 9]
+    let roundURL = "https://dashboard.xx.network/rounds/25?xxmessenger=true"
     let payloadB64 = "rSuPD35ELWwm5KTR9ViKIz/r1YGRgXIl5792SF8o8piZzN6sT4Liq4rUU/nfOPvQEjbfWNh/NYxdJ72VctDnWw=="
     let ephId: Int64 = 1_655_533
     let receptionIdB64 = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"
     let jsonString = """
     {
       "Rounds": [\(rounds.map { "\($0)" }.joined(separator: ", "))],
+      "RoundURL": "\(roundURL)",
       "Payload": "\(payloadB64)",
       "EphID": \(ephId),
       "ReceptionID": "\(receptionIdB64)",
@@ -22,6 +24,7 @@ final class SingleUseResponseReportTests: XCTestCase {
 
     XCTAssertNoDifference(model, SingleUseResponseReport(
       rounds: rounds,
+      roundURL: roundURL,
       payload: Data(base64Encoded: payloadB64)!,
       ephId: ephId,
       receptionId: Data(base64Encoded: receptionIdB64)!,
@@ -36,6 +39,7 @@ final class SingleUseResponseReportTests: XCTestCase {
 
   func testDecodingReportWithError() throws {
     let rounds: [Int] = [1, 5, 9]
+    let roundURL = "https://dashboard.xx.network/rounds/25?xxmessenger=true"
     let payloadB64 = "rSuPD35ELWwm5KTR9ViKIz/r1YGRgXIl5792SF8o8piZzN6sT4Liq4rUU/nfOPvQEjbfWNh/NYxdJ72VctDnWw=="
     let ephId: Int64 = 1_655_533
     let receptionIdB64 = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"
@@ -43,6 +47,7 @@ final class SingleUseResponseReportTests: XCTestCase {
     let jsonString = """
     {
       "Rounds": [\(rounds.map { "\($0)" }.joined(separator: ", "))],
+      "RoundURL": "\(roundURL)",
       "Payload": "\(payloadB64)",
       "EphID": \(ephId),
       "ReceptionID": "\(receptionIdB64)",
@@ -54,6 +59,7 @@ final class SingleUseResponseReportTests: XCTestCase {
 
     XCTAssertNoDifference(model, SingleUseResponseReport(
       rounds: rounds,
+      roundURL: roundURL,
       payload: Data(base64Encoded: payloadB64)!,
       ephId: ephId,
       receptionId: Data(base64Encoded: receptionIdB64)!,
-- 
GitLab