File tree Expand file tree Collapse file tree 2 files changed +18
-1
lines changed Expand file tree Collapse file tree 2 files changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -138,9 +138,11 @@ struct MessagesObtainedHandler {
138
138
}
139
139
}
140
140
141
+ let deliveredMessages = addedMessages. filter { $0. read != true }
142
+
141
143
return MergeMessagesResult ( inboxChanged: removedInboxCount + addedInboxCount + messagesOverwritten > 0 ,
142
144
messagesMap: newMessagesMap,
143
- deliveredMessages: addedMessages )
145
+ deliveredMessages: deliveredMessages )
144
146
}
145
147
146
148
private let messagesMap : OrderedDictionary < String , IterableInAppMessage >
Original file line number Diff line number Diff line change @@ -24,6 +24,21 @@ class InAppMessageProcessorTests: XCTestCase {
24
24
XCTAssertTrue ( result. inboxChanged)
25
25
}
26
26
27
+ func testDoNotCountNewReadMessageAsDelivered( ) throws {
28
+ let localMessage = Self . makeEmptyInboxMessage ( " msg-1 " )
29
+ let serverMessage1 = Self . makeEmptyInboxMessage ( " msg-2 " )
30
+ serverMessage1. read = true
31
+ let serverMessage2 = Self . makeEmptyInboxMessage ( " msg-3 " )
32
+ serverMessage2. read = false
33
+
34
+ let messagesMap : OrderedDictionary < String , IterableInAppMessage > = [ " msg-1 " : localMessage]
35
+ let newMessages = [ serverMessage1, serverMessage2]
36
+
37
+ let result = MessagesObtainedHandler ( messagesMap: messagesMap,
38
+ messages: newMessages) . handle ( )
39
+ XCTAssertEqual ( result. deliveredMessages. count, 1 )
40
+ }
41
+
27
42
private static let emptyInAppContent = IterableHtmlInAppContent ( edgeInsets: . zero, html: " " )
28
43
29
44
private static func makeEmptyMessage( ) -> IterableInAppMessage {
You can’t perform that action at this time.
0 commit comments