From 6b6dbaf3f81d25b04f7c6fc6035ecb7f87c4aa61 Mon Sep 17 00:00:00 2001
From: Dariusz Rybicki <dariusz@elixxir.io>
Date: Mon, 25 Jul 2022 18:56:35 +0100
Subject: [PATCH] Refactor

---
 Tests/ElixxirDAppsSDKTests/MessageTests.swift | 54 ++++++++++---------
 1 file changed, 30 insertions(+), 24 deletions(-)

diff --git a/Tests/ElixxirDAppsSDKTests/MessageTests.swift b/Tests/ElixxirDAppsSDKTests/MessageTests.swift
index 14831459..ff74cf5c 100644
--- a/Tests/ElixxirDAppsSDKTests/MessageTests.swift
+++ b/Tests/ElixxirDAppsSDKTests/MessageTests.swift
@@ -4,40 +4,46 @@ import XCTest
 
 final class MessageTests: XCTestCase {
   func testCoding() throws {
+    let type: Int = 1
+    let idString = "EB/70R5HYEw5htZ4Hg9ondrn3+cAc/lH2G0mjQMja3w="
+    let payloadString = "7TzZKgNphT5UooNM7mDSwtVcIs8AIu4vMKm4ld6GSR8YX5GrHirixUBAejmsgdroRJyo06TkIVef7UM9FN8YfQ=="
+    let senderString = "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"
+    let recipientIdString = "amFrZXh4MzYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD"
+    let ephemeralId: Int = 17
+    let timestamp: Int = 1_653_580_439_357_351_000
+    let encrypted = false
+    let roundId: Int = 19
     let jsonString = """
     {
-      "MessageType": 1,
-      "ID": "EB/70R5HYEw5htZ4Hg9ondrn3+cAc/lH2G0mjQMja3w=",
-      "Payload": "7TzZKgNphT5UooNM7mDSwtVcIs8AIu4vMKm4ld6GSR8YX5GrHirixUBAejmsgdroRJyo06TkIVef7UM9FN8YfQ==",
-      "Sender": "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD",
-      "RecipientID": "amFrZXh4MzYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD",
-      "EphemeralID": 17,
-      "Timestamp": 1653580439357351000,
-      "Encrypted": false,
-      "RoundId": 19
+      "MessageType": \(type),
+      "ID": "\(idString)",
+      "Payload": "\(payloadString)",
+      "Sender": "\(senderString)",
+      "RecipientID": "\(recipientIdString)",
+      "EphemeralID": \(ephemeralId),
+      "Timestamp": \(timestamp),
+      "Encrypted": \(encrypted),
+      "RoundId": \(roundId)
     }
     """
     let jsonData = jsonString.data(using: .utf8)!
-    let decoder = JSONDecoder()
-    decoder.dataDecodingStrategy = .base64
-    let message = try decoder.decode(Message.self, from: jsonData)
+
+    let message = try Message.decode(jsonData)
 
     XCTAssertNoDifference(message, Message(
       messageType: 1,
-      id: Data(base64Encoded: "EB/70R5HYEw5htZ4Hg9ondrn3+cAc/lH2G0mjQMja3w=")!,
-      payload: Data(base64Encoded: "7TzZKgNphT5UooNM7mDSwtVcIs8AIu4vMKm4ld6GSR8YX5GrHirixUBAejmsgdroRJyo06TkIVef7UM9FN8YfQ==")!,
-      sender: Data(base64Encoded: "emV6aW1hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD")!,
-      recipientId: Data(base64Encoded: "amFrZXh4MzYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD")!,
-      ephemeralId: 17,
-      timestamp: 1_653_580_439_357_351_000,
-      encrypted: false,
-      roundId: 19
+      id: Data(base64Encoded: idString)!,
+      payload: Data(base64Encoded: payloadString)!,
+      sender: Data(base64Encoded: senderString)!,
+      recipientId: Data(base64Encoded: recipientIdString)!,
+      ephemeralId: ephemeralId,
+      timestamp: timestamp,
+      encrypted: encrypted,
+      roundId: roundId
     ))
 
-    let encoder = JSONEncoder()
-    encoder.dataEncodingStrategy = .base64
-    let encodedMessage = try encoder.encode(message)
-    let decodedMessage = try decoder.decode(Message.self, from: encodedMessage)
+    let encodedMessage = try message.encode()
+    let decodedMessage = try Message.decode(encodedMessage)
 
     XCTAssertNoDifference(decodedMessage, message)
   }
-- 
GitLab