@@ -22,14 +22,10 @@ class InboxViewControllerViewModelTests: XCTestCase {
2222 func testDescendingSorting( ) {
2323 let expectation1 = expectation ( description: " testDescendingSorting " )
2424
25- let model = InboxViewControllerViewModel ( )
26- model. comparator = IterableInboxViewController . DefaultComparator. descending
27-
2825 let fetcher = MockInAppFetcher ( )
29-
30- IterableAPI . initializeForTesting (
31- inAppFetcher: fetcher
32- )
26+ let internalAPI = IterableAPIInternal . initializeForTesting ( inAppFetcher: fetcher)
27+ let model = InboxViewControllerViewModel ( internalAPIProvider: internalAPI)
28+ model. comparator = IterableInboxViewController . DefaultComparator. descending
3329
3430 let date1 = Date ( )
3531 let date2 = date1. addingTimeInterval ( 5.0 )
@@ -51,7 +47,7 @@ class InboxViewControllerViewModelTests: XCTestCase {
5147 inboxMetadata: nil ,
5248 customPayload: nil ) ,
5349 ]
54- fetcher. mockMessagesAvailableFromServer ( messages: messages)
50+ fetcher. mockMessagesAvailableFromServer ( internalApi : internalAPI , messages: messages)
5551
5652 DispatchQueue . main. asyncAfter ( deadline: . now( ) + 1.0 ) {
5753 model. beganUpdates ( )
@@ -66,14 +62,10 @@ class InboxViewControllerViewModelTests: XCTestCase {
6662 func testAscendingSorting( ) {
6763 let expectation1 = expectation ( description: " testAscendingSorting " )
6864
69- let model = InboxViewControllerViewModel ( )
70- model. comparator = IterableInboxViewController . DefaultComparator. ascending
71-
7265 let fetcher = MockInAppFetcher ( )
73-
74- IterableAPI . initializeForTesting (
75- inAppFetcher: fetcher
76- )
66+ let internalAPI = IterableAPIInternal . initializeForTesting ( inAppFetcher: fetcher)
67+ let model = InboxViewControllerViewModel ( internalAPIProvider: internalAPI)
68+ model. comparator = IterableInboxViewController . DefaultComparator. ascending
7769
7870 let date1 = Date ( )
7971 let date2 = date1. addingTimeInterval ( 5.0 )
@@ -95,7 +87,7 @@ class InboxViewControllerViewModelTests: XCTestCase {
9587 inboxMetadata: nil ,
9688 customPayload: nil ) ,
9789 ]
98- fetcher. mockMessagesAvailableFromServer ( messages: messages)
90+ fetcher. mockMessagesAvailableFromServer ( internalApi : internalAPI , messages: messages)
9991
10092 DispatchQueue . main. asyncAfter ( deadline: . now( ) + 1.0 ) {
10193 model. beganUpdates ( )
@@ -110,13 +102,9 @@ class InboxViewControllerViewModelTests: XCTestCase {
110102 func testNoSortingIsDescending( ) {
111103 let expectation1 = expectation ( description: " testNoSorting " )
112104
113- let model = InboxViewControllerViewModel ( )
114-
115105 let fetcher = MockInAppFetcher ( )
116-
117- IterableAPI . initializeForTesting (
118- inAppFetcher: fetcher
119- )
106+ let internalAPI = IterableAPIInternal . initializeForTesting ( inAppFetcher: fetcher)
107+ let model = InboxViewControllerViewModel ( internalAPIProvider: internalAPI)
120108
121109 let date1 = Date ( )
122110 let date2 = date1. addingTimeInterval ( 5.0 )
@@ -138,7 +126,7 @@ class InboxViewControllerViewModelTests: XCTestCase {
138126 inboxMetadata: nil ,
139127 customPayload: nil ) ,
140128 ]
141- fetcher. mockMessagesAvailableFromServer ( messages: messages)
129+ fetcher. mockMessagesAvailableFromServer ( internalApi : internalAPI , messages: messages)
142130
143131 DispatchQueue . main. asyncAfter ( deadline: . now( ) + 1.0 ) {
144132 model. beganUpdates ( )
@@ -153,13 +141,9 @@ class InboxViewControllerViewModelTests: XCTestCase {
153141 func testWithNoFiltering( ) {
154142 let expectation1 = expectation ( description: " testWithNoFiltering " )
155143
156- let model = InboxViewControllerViewModel ( )
157-
158144 let fetcher = MockInAppFetcher ( )
159-
160- IterableAPI . initializeForTesting (
161- inAppFetcher: fetcher
162- )
145+ let internalAPI = IterableAPIInternal . initializeForTesting ( inAppFetcher: fetcher)
146+ let model = InboxViewControllerViewModel ( internalAPIProvider: internalAPI)
163147
164148 let date1 = Date ( )
165149 let date2 = date1. addingTimeInterval ( 5.0 )
@@ -181,7 +165,7 @@ class InboxViewControllerViewModelTests: XCTestCase {
181165 inboxMetadata: nil ,
182166 customPayload: nil ) ,
183167 ]
184- fetcher. mockMessagesAvailableFromServer ( messages: messages)
168+ fetcher. mockMessagesAvailableFromServer ( internalApi : internalAPI , messages: messages)
185169
186170 DispatchQueue . main. asyncAfter ( deadline: . now( ) + 1.0 ) {
187171 model. beganUpdates ( )
@@ -197,14 +181,10 @@ class InboxViewControllerViewModelTests: XCTestCase {
197181 func testCustomFiltering( ) {
198182 let expectation1 = expectation ( description: " testCustomFiltering " )
199183
200- let model = InboxViewControllerViewModel ( )
201- model. filter = { $0. messageId == " message1 " }
202-
203184 let fetcher = MockInAppFetcher ( )
204-
205- IterableAPI . initializeForTesting (
206- inAppFetcher: fetcher
207- )
185+ let internalAPI = IterableAPIInternal . initializeForTesting ( inAppFetcher: fetcher)
186+ let model = InboxViewControllerViewModel ( internalAPIProvider: internalAPI)
187+ model. filter = { $0. messageId == " message1 " }
208188
209189 let date1 = Date ( )
210190 let date2 = date1. addingTimeInterval ( 5.0 )
@@ -226,7 +206,7 @@ class InboxViewControllerViewModelTests: XCTestCase {
226206 inboxMetadata: nil ,
227207 customPayload: nil ) ,
228208 ]
229- fetcher. mockMessagesAvailableFromServer ( messages: messages)
209+ fetcher. mockMessagesAvailableFromServer ( internalApi : internalAPI , messages: messages)
230210
231211 DispatchQueue . main. asyncAfter ( deadline: . now( ) + 1.0 ) {
232212 model. beganUpdates ( )
@@ -241,14 +221,10 @@ class InboxViewControllerViewModelTests: XCTestCase {
241221 func testSampleFilter( ) {
242222 let expectation1 = expectation ( description: " testSampleFilter " )
243223
244- let model = InboxViewControllerViewModel ( )
245- model. filter = SampleInboxViewDelegateImplementations . Filter. usingCustomPayloadMessageType ( in: " promotional " )
246-
247224 let fetcher = MockInAppFetcher ( )
248-
249- IterableAPI . initializeForTesting (
250- inAppFetcher: fetcher
251- )
225+ let internalAPI = IterableAPIInternal . initializeForTesting ( inAppFetcher: fetcher)
226+ let model = InboxViewControllerViewModel ( internalAPIProvider: internalAPI)
227+ model. filter = SampleInboxViewDelegateImplementations . Filter. usingCustomPayloadMessageType ( in: " promotional " )
252228
253229 let date1 = Date ( )
254230 let date2 = date1. addingTimeInterval ( 5.0 )
@@ -270,7 +246,7 @@ class InboxViewControllerViewModelTests: XCTestCase {
270246 inboxMetadata: nil ,
271247 customPayload: [ " messageType " : " promotional " ] ) ,
272248 ]
273- fetcher. mockMessagesAvailableFromServer ( messages: messages)
249+ fetcher. mockMessagesAvailableFromServer ( internalApi : internalAPI , messages: messages)
274250
275251 DispatchQueue . main. asyncAfter ( deadline: . now( ) + 1.0 ) {
276252 model. beganUpdates ( )
@@ -285,7 +261,10 @@ class InboxViewControllerViewModelTests: XCTestCase {
285261 func testImageLoadingForExistingImage( ) {
286262 let expectation1 = expectation ( description: " testImageLoadingForExistingImage " )
287263
288- let model = InboxViewControllerViewModel ( )
264+ let mockNetworkSession = MockNetworkSession ( statusCode: 200 , data: Data ( repeating: 0 , count: 100 ) )
265+ let fetcher = MockInAppFetcher ( )
266+ let internalAPI = IterableAPIInternal . initializeForTesting ( networkSession: mockNetworkSession, inAppFetcher: fetcher)
267+ let model = InboxViewControllerViewModel ( internalAPIProvider: internalAPI)
289268
290269 let mockView = MockViewModelView ( )
291270 mockView. onImageLoadedCallback = { indexPath in
@@ -294,13 +273,6 @@ class InboxViewControllerViewModelTests: XCTestCase {
294273 }
295274 model. view = mockView
296275
297- let mockNetworkSession = MockNetworkSession ( statusCode: 200 , data: Data ( repeating: 0 , count: 100 ) )
298- let fetcher = MockInAppFetcher ( )
299- IterableAPI . initializeForTesting (
300- networkSession: mockNetworkSession,
301- inAppFetcher: fetcher
302- )
303-
304276 let imageLocation = Bundle ( for: type ( of: self ) ) . url ( forResource: " image " , withExtension: " jpg " ) !. absoluteString
305277
306278 let messages = [
@@ -312,7 +284,7 @@ class InboxViewControllerViewModelTests: XCTestCase {
312284 inboxMetadata: IterableInboxMetadata ( title: " inbox title " , subtitle: " inbox subtitle " , icon: imageLocation) ,
313285 customPayload: [ " messageType " : " transactional " ] ) ,
314286 ]
315- fetcher. mockMessagesAvailableFromServer ( messages: messages)
287+ fetcher. mockMessagesAvailableFromServer ( internalApi : internalAPI , messages: messages)
316288
317289 DispatchQueue . main. asyncAfter ( deadline: . now( ) + 1.0 ) {
318290 model. beganUpdates ( )
@@ -327,7 +299,10 @@ class InboxViewControllerViewModelTests: XCTestCase {
327299 let expectation1 = expectation ( description: " testImageLoadingForNonExistingImage " )
328300 expectation1. isInverted = true
329301
330- let model = InboxViewControllerViewModel ( )
302+ let mockNetworkSession = MockNetworkSession ( statusCode: 404 , data: nil )
303+ let fetcher = MockInAppFetcher ( )
304+ let internalAPI = IterableAPIInternal . initializeForTesting ( networkSession: mockNetworkSession, inAppFetcher: fetcher)
305+ let model = InboxViewControllerViewModel ( internalAPIProvider: internalAPI)
331306
332307 let mockView = MockViewModelView ( )
333308 mockView. onImageLoadedCallback = { indexPath in
@@ -336,13 +311,6 @@ class InboxViewControllerViewModelTests: XCTestCase {
336311 }
337312 model. view = mockView
338313
339- let mockNetworkSession = MockNetworkSession ( statusCode: 404 , data: nil )
340- let fetcher = MockInAppFetcher ( )
341- IterableAPI . initializeForTesting (
342- networkSession: mockNetworkSession,
343- inAppFetcher: fetcher
344- )
345-
346314 let imageLocation = " file:///something.png "
347315
348316 let messages = [
@@ -354,7 +322,7 @@ class InboxViewControllerViewModelTests: XCTestCase {
354322 inboxMetadata: IterableInboxMetadata ( title: " inbox title " , subtitle: " inbox subtitle " , icon: imageLocation) ,
355323 customPayload: [ " messageType " : " transactional " ] ) ,
356324 ]
357- fetcher. mockMessagesAvailableFromServer ( messages: messages)
325+ fetcher. mockMessagesAvailableFromServer ( internalApi : internalAPI , messages: messages)
358326
359327 DispatchQueue . main. asyncAfter ( deadline: . now( ) + 1.0 ) {
360328 model. beganUpdates ( )
@@ -368,14 +336,10 @@ class InboxViewControllerViewModelTests: XCTestCase {
368336 func testSampleSectionMapper( ) {
369337 let expectation1 = expectation ( description: " testSampleSectionMapper " )
370338
371- let model = InboxViewControllerViewModel ( )
372- model. sectionMapper = SampleInboxViewDelegateImplementations . SectionMapper. usingCustomPayloadMessageSection
373-
374339 let fetcher = MockInAppFetcher ( )
375-
376- IterableAPI . initializeForTesting (
377- inAppFetcher: fetcher
378- )
340+ let internalAPI = IterableAPIInternal . initializeForTesting ( inAppFetcher: fetcher)
341+ let model = InboxViewControllerViewModel ( internalAPIProvider: internalAPI)
342+ model. sectionMapper = SampleInboxViewDelegateImplementations . SectionMapper. usingCustomPayloadMessageSection
379343
380344 let date1 = Date ( )
381345 let date2 = date1. addingTimeInterval ( 5.0 )
@@ -397,7 +361,7 @@ class InboxViewControllerViewModelTests: XCTestCase {
397361 inboxMetadata: nil ,
398362 customPayload: nil ) ,
399363 ]
400- fetcher. mockMessagesAvailableFromServer ( messages: messages)
364+ fetcher. mockMessagesAvailableFromServer ( internalApi : internalAPI , messages: messages)
401365
402366 DispatchQueue . main. asyncAfter ( deadline: . now( ) + 1.0 ) {
403367 model. beganUpdates ( )
0 commit comments