Skip to content

Commit 46a9cc0

Browse files
committed
[MOB-10364] Update according to new discussiom
1 parent c6b3c8b commit 46a9cc0

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

swift-sdk/Internal/in-app/InAppPersistence.swift

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -308,11 +308,6 @@ extension IterableInAppMessage: Codable {
308308
// Encode jsonOnly first
309309
try? container.encode(isJsonOnly ? 1 : 0, forKey: .jsonOnly)
310310

311-
// Don't encode if JSON-only message without customPayload
312-
if isJsonOnly && customPayload == nil {
313-
return
314-
}
315-
316311
try? container.encode(trigger, forKey: .trigger)
317312
try? container.encode(saveToInbox && !isJsonOnly, forKey: .saveToInbox)
318313
try? container.encode(messageId, forKey: .messageId)

tests/unit-tests/InAppPersistenceTests.swift

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ class InAppPersistenceTests: XCTestCase {
159159
XCTAssertTrue(jsonData["content"] == nil || (jsonData["content"] as? [String: Any])?.isEmpty == true)
160160
}
161161

162-
// Test 3: Message without customPayload
162+
// Test 3: Message without customPayload should now persist normally
163163
let messageWithoutPayload = IterableInAppMessage(
164164
messageId: "test-json-2",
165165
campaignId: 456,
@@ -178,7 +178,18 @@ class InAppPersistenceTests: XCTestCase {
178178
persister.clear()
179179
persister.persist([messageWithoutPayload])
180180
let retrievedEmptyMessages = persister.getMessages()
181-
XCTAssertEqual(retrievedEmptyMessages.count, 1, "JSON-only messages without customPayload should still be persisted")
181+
XCTAssertEqual(retrievedEmptyMessages.count, 1)
182+
183+
guard let retrievedEmptyMessage = retrievedEmptyMessages.first else {
184+
XCTFail("No message retrieved")
185+
return
186+
}
187+
188+
// Verify properties of message without customPayload
189+
XCTAssertEqual(messageWithoutPayload.messageId, retrievedEmptyMessage.messageId)
190+
XCTAssertEqual(messageWithoutPayload.campaignId?.intValue, retrievedEmptyMessage.campaignId?.intValue)
191+
XCTAssertTrue(retrievedEmptyMessage.jsonOnly)
192+
XCTAssertNil(retrievedEmptyMessage.customPayload)
182193

183194
// Test 4: Array of JSON-only messages
184195
let messagesArray = [

0 commit comments

Comments
 (0)