Skip to content

Merge branch 'master' into evan/MOB-8113-add-placement-id-list-to-syn…

0522e34
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Open

[MOB-8113] adds placement ids array to sync messages #898

Merge branch 'master' into evan/MOB-8113-add-placement-id-list-to-syn…
0522e34
Select commit
Loading
Failed to load commit list.
GitHub Actions / Unit Test Results succeeded Jul 2, 2025 in 0s

Tests: 433/433 passed (100.0%) Skipped: 13

Xcode Test Results

Total Passed Failed Skipped Expected Failures Duration
446 433 0 13 0 129.94s

Test Environment

Device iPhone 16 Pro
OS Version 18.2
Architecture arm64

unit-tests

APNSTypeCheckerTests

testDev() 0.02s
testNoValue() 0.00s
testValidProduction() 0.00s

ActionRunnerTests

testAllowHttpWhenAllowedProtocolsIsSet() 0.00s
testBadDataInIterableAction() 0.00s
testCustomAction() 0.00s
testCustomActionOverride() 0.00s
testDoNotOpenHttpByDefault() 1.00s
testOpenHttpsByDefault() 0.00s
testUrlHandlingOverride() 0.00s
testUrlOpenAction() 0.00s

AuthTests

testAsyncAuthTokenRetrieval() 0.14s
testAuthTokenCallbackOnSetEmail() 0.60s
testAuthTokenCallbackOnSetUserId() 0.11s
testAuthTokenChangeWithSameEmail() 0.17s
testAuthTokenChangeWithSameUserId() 0.14s
testAuthTokenDeletedOnLogout() 0.24s
testAuthTokenNotRequestingForAlreadyExistingEmail() 1.13s
testAuthTokenRefreshOnInit() 0.27s
testAuthTokenRefreshQueued() 1.01s
testAuthTokenRefreshRetryOnlyOnce() 6.18s
testAuthTokenRefreshSkippedIfUserLoggedOutAfterReschedule() 2.01s
testAuthTokenRetrievalFailureReset() 1.24s
testDecodeExpirationDate() 0.00s
testEmailPersistence() 0.15s
testEmailWithTokenPersistence() 0.18s
testLoggedOutAuthTokenRequest() 1.16s
testLogoutUser() 0.19s
testNewEmailAndThenChangeToken() 0.21s
testNewUserIdAndThenChangeToken() 0.21s
testPriorAuthFailedRetryPrevention() 0.02s
testPriorAuthFailedRetrySuccess() 0.02s
testPushRegistrationAfterAuthTokenRetrieval() 0.40s
testRefreshTimerQueueRejection() 1.18s
testUpdateEmailAndThenChangeToken() 0.20s
testUpdateEmailWithTokenParam() 0.21s
testUserIdPersistence() 0.11s
testUserIdWithTokenPersistence() 0.14s
testUserLoginAndLogout() 0.14s

AutoRegistrationTests

testAutomaticPushRegistrationOnInit() 0.11s
testCallDisableAndEnable() 0.43s
testDoNotCallDisableAndEnableWhenSameValue() 1.49s
testDoNotCallDisableOrEnableWhenAutoPushIsOff() 1.15s

ClassExtensionsTests

testArrayIsAscending() 0.00s
testArrayIsDescending() 0.00s
testHexConversion() 0.00s
testUIColorInit() 0.00s

CommerceItemTests

testToDictionaryWithAllFields() 0.00s
testToDictionaryWithRequiredFields() 0.00s

DeepLinkTests

testGreenFiDeepLinkWithoutRedirect() 0.15s
testGreenFiSMSDeepLinkRedirect() 0.01s
testHandleUniversalLinkAttributionInfo() 0.72s
testHandleUniversalLinkRewrite() 0.13s
testNoURLRedirect() 0.00s
testTrackUniversalDeepLinkNoRewrite() 0.00s
testTrackUniversalDeepLinkRewrite() 0.00s

EmbeddedManagerTests

testGetMessagesForPlacement() 0.01s
testGetMessagesWhenEmpty() 0.01s
testManagerCorrectlyAddsAndRemovesListeners() 0.01s
testManagerInitializationAndDeinitialization() 0.03s
testManagerNotifiesMultipleDelegates() 0.00s
testManagerReset() 0.00s
testManagerSingleDelegateUpdated() 0.00s
testManagerSyncsOnForeground() 0.02s
testSyncMessagesFailedDueToInvalidAPIKey() 0.05s
testSyncMessagesForSpecifiedPlacement() 0.13s
testSyncMessagesSuccessful() 0.00s
testUpdateMessagesIsCalled() 0.10s

EmbeddedMessagingProcessorTests

testMessageIdsToTrackDelivery() 0.03s
testMessageListProcessing() 0.00s
testMessageListRemovedMessages() 0.00s

InAppFilePersistenceTests

testColorAndShouldAnimatePersistence() 0.05s
testCorruptedData() 0.00s
testFilePersistence() 0.00s
testFilePersisterInitial() 0.00s
testPersistBetweenSessions() 0.40s
testShouldAnimateWithoutBGColorPersistence() 0.00s

InAppHelperTests

testGetInAppMessagesWithErrorGetsConsumed() 0.00s
testGetInAppMessagesWithNoError() 0.01s
testParseURL() 0.00s

InAppMessageProcessorTests

testDoNotCountNewReadMessageAsDelivered() 0.06s
testMessagesObtainedShouldOverwriteForReadState() 0.00s

InAppNavigationTests

testAllowHttpWhenAllowedProtocolsIsSet() 0.20s
testDoNotOpenHttpByDefault() 1.27s
testOpenHttpsByDefault() 0.14s

InAppParsingTests

testBackgroundColor1() 0.00s
testBackgroundColor2() 0.00s
testBackgroundColor3() 0.00s
testBackgroundColor4() 0.00s
testBackgroundColor5() 0.00s
testBackgroundColor6() 0.00s
testCallbackUrlParsingAppleWebdataScheme1() 0.00s
testCallbackUrlParsingAppleWebdataScheme2() 0.10s
testCallbackUrlParsingCustomActionScheme() 0.00s
testCallbackUrlParsingRegularScheme() 0.00s
testCustomPayloadParsing() 0.00s
testDoNotShowMultipleTimes() 0.01s
testGetPaddingBottom() 0.01s
testGetPaddingCenter() 0.00s
testGetPaddingFull() 0.00s
testGetPaddingInvalid() 0.00s
testGetPaddingTop() 0.00s
testInAppPayloadParsing() 0.00s
testInAppPayloadParsingWithPreprocessing() 0.00s
testInAppPayloadWithKnownTrigger() 0.00s
testInAppPayloadWithNoTrigger() 0.00s
testInAppPayloadWithUnKnownTrigger() 0.00s
testNotificationPaddingBottom() 0.00s
testNotificationPaddingCenter() 0.00s
testNotificationPaddingDefault() 0.00s
testNotificationPaddingFull() 0.00s
testNotificationPaddingTop() 0.00s
testParseShouldAnimate1() 0.00s
testParseShouldAnimate2() 0.00s
testParseShouldAnimate3() 0.00s
testParseShouldAnimate4() 0.00s
testParseShouldAnimate5() 0.00s
testParseShouldAnimate6() 0.00s
testParseShouldAnimate7() 0.00s
testTrackInAppClickWithClickedUrl() 0.20s
testTrackInAppClose() 0.13s
testTrackInAppCloseWithNoSource() 0.14s
testTrackInAppDelivery() 0.14s
testTrackInAppOpen() 0.15s

InAppPersistenceTests

testDefaultTriggerDict() 0.00s
testInboxMetadataDecodingEncoding() 0.01s
testJsonOnlyMessageCustomPayloadPriority() 0.00s
testJsonOnlyMessagePersistence() 0.01s
testPersistentReadStateFromServerPayload() 1.57s
testUIEdgeInsetsKeysDecodingEncoding() 0.01s

InAppPresenterTests

testInAppPresenterDelegateExistence() 0.25s
testInAppPresenterIsPresentingOnInit() 0.03s

InAppPriorityTests

testDisplayingCriticalPriorityLevel() 0.47s
testDisplayingPriorityLevelsInOrder() 3.94s
testGetMessagesWithOutOfOrderPriorityLevels() 0.26s
testInAppMessagePriorityPersistence() 0.13s
testMessageWithNoPriorityTreatedAsDefaultLevel() 0.12s

InAppTests

testAutoDisplayOff() 0.18s
testAutoDisplayResumed() 0.19s
testAutoShowInAppMultipleOverride() 1.13s
testAutoShowInAppMultipleWithOrdering() 2.50s
testAutoShowInAppOpenUrlByDefault() 0.27s
testAutoShowInAppSingle() 0.18s
testAutoShowInAppSingleOverride() 1.15s
testAutoShowInAppUrlDelegateOverride() 1.13s
testDeleteInServerDeletesInClient() 0.23s
testDoNoProcessNonImmediateTriggerTypes() 1.14s
testDontShowNewlyArrivedMessageWithinRetryInterval() 2.24s
testEmptyInAppManager() 0.00s
testExpiration() 0.15s
testInAppDelivery() 0.12s
testInAppDoNotShowInBackground() 1.13s
testInAppRemoveMessagePayload1() 0.37s
testInAppRemoveMessagePayload2() 0.19s
testInAppRemoveMessagePayload3() 0.12s
testInAppShowWhenMovesToForeground() 1.14s
testInboxChangedIsCalledWhenInAppIsRemovedInServer() 0.13s
testJsonOnlyInAppMessage() 0.13s
testJsonOnlyInAppMessageDelegateCallbacks() 3.13s
testJsonOnlyInAppMessageParsing() 0.29s
testJsonOnlyInAppMessageWithoutCustomPayload() 0.15s
testJsonOnlyMessageCannotBeSavedToInbox() 0.17s
testJsonOnlyMessageIgnoresContentPayload() 0.20s
testJsonOnlyMessageWithEmptyPayload() 0.17s
testMoveToForegroundSyncInterval() 2.19s
testOnNewNotCalledMultipleTimes() 0.14s
testParseSilentPushNotificationParsing() 0.00s
testParseSilentPushNotificationParsing2() 0.00s
testRemoveIsCalled() 0.00s
testRemoveMessages() 0.29s
testShowInAppWithConsume() 0.19s
testShowInAppWithCustomAction() 0.14s
testShowInAppWithCustomAction1() 0.13s
testShowInAppWithCustomActionBackwardCompatibility() 0.12s
testShowInAppWithIterableCustomActionDelete() 1.21s
testShowInAppWithIterableCustomActionDismiss() 0.14s
testShowInAppWithNoConsume() 0.15s
testSyncIsCalled() 0.12s
testSyncIsCalledOnLogin() 0.14s

InboxImpressionTrackerTests

testRowInfoHashableEquatable() 0.01s
testToIterableInboxImpression() 0.00s
testUpdateVisibleRows() 1.63s

InboxMessageViewModelTests

testEquatable() 0.00s
testHasValidImageUrl() 0.00s
testHasher() 0.00s
testModel() 0.00s

InboxSessionManagerTests

testSessionInfoStartAndEnd() 0.00s
testSessionIsTracking() 0.03s
testUpdateRowTracking() 1.08s

InboxTests

testInboxAndInAppCallbacksTogether() 0.17s
testInboxChangedCalledOnInitialization() 0.13s
testInboxLogoutClearMessageQueue() 1.14s
testInboxNewMessagesCallback() 0.12s
testInboxOrdering() 0.13s
testReceiveReadMessage() 0.12s
testRemove() 0.17s
testSetRead() 0.17s
testShowInboxMessage() 0.17s
testShowNowAndInboxMessage() 0.19s

InboxViewControllerViewModelTests

testAscendingSorting() 0.01s
testCustomFiltering() 0.00s
testDescendingSorting() 0.00s
testImageLoadingForExistingImage() 1.12s
testImageLoadingForNonExistingImage() 5.13s
testNoSortingIsDescending() 0.00s
testRowDiff() 0.14s
testSampleFilter() 0.01s
testSampleSectionMapper() 0.01s
testWithNoFiltering() 0.00s

IterableAPIResponseTests

testAuthInHeader() 0.13s
testHeadersInGetRequest() 0.12s
testHeadersInPostRequest() 0.12s
testNetworkTimeoutResponse() 0.22s
testNoNetworkResponse() 0.12s
testNon200ResponseCode() 0.14s
testResponseCode200() 0.13s
testResponseCode200WithInvalidJson() 0.12s
testResponseCode200WithNoData() 0.11s
testResponseCode400WithMessage() 0.11s
testResponseCode400WithoutMessage() 0.12s
testResponseCode401() 0.12s
testResponseCode500() 6.19s
testSendRequestWithRetry() 6.21s

IterableAPITests

testDisableDeviceForAllUsers() 0.13s
testDisableDeviceForAllUsersWithoutCallback() 0.15s
testDisableDeviceForCurrentUser() 0.14s
testDisableDeviceForCurrentUserWithoutCallback() 0.16s
testDisableDeviceNotRegistered() 0.15s
testEmailPersistence() 0.13s
testGetInAppMessagesFunction() 0.15s
testInAppConsume() 0.13s
testInitialize() 0.13s
testInitializeCheckEndpoint() 0.17s
testInitializeWithConfig() 0.12s
testInitializeWithDefaultDataRegion() 0.18s
testInitializeWithEUDataRegion() 0.11s
testInitializeWithLaunchOptionsAndCustomAction() 0.12s
testInitializeWithLaunchOptionsAndUrl() 0.12s
testInitializeWithNewEndpoint() 0.13s
testPurchaseWithoutSuccessAndFailure() 0.12s
testRegisterToken() 0.13s
testRegisterTokenNilAppName() 0.02s
testRegisterTokenNilEmailAndUserId() 0.18s
testSetEmailWithCallbackFailure() 0.12s
testSetEmailWithCallbackSuccess() 0.12s
testSetUserIdWithCallbackFailure() 0.18s
testSetUserIdWithCallbackSuccess() 0.14s
testTrackEventBadNetwork() 6.26s
testTrackEventWithEmail() 0.16s
testTrackEventWithEmail2() 0.23s
testTrackEventWithNoEmailOrUser() 0.13s
testTrackInAppConsumeWithSource() 0.13s
testTrackPurchaseNoUserIdOrEmail() 0.13s
testTrackPurchaseWithEmail() 0.14s
testTrackPurchaseWithUserId() 0.16s
testTrackPurchaseWithUserId2() 0.12s
testTrackPushOpen() 0.12s
testTrackPushOpenWithCallback() 0.12s
testTrackPushOpenWithCampaignIdEtc() 0.12s
testTrackPushOpenWithCampaignIdEtcWithCallback() 0.12s
testTrackPushOpenWithDataFields() 0.14s
testUpdateCart() 0.12s
testUpdateEmailWithEmail() 0.12s
testUpdateEmailWithUserId() 0.13s
testUpdateSubscriptions() 0.12s
testUpdateUserWithEmail() 0.13s
testUpdateUserWithUserId() 0.14s
testUpgradeJWTToken() 0.14s
testUserIdPersistence() 0.12s

IterableDataRegionObjCTests

testIterableDataRegionIsAccessibleFromObjectiveC 0.00s

IterableHtmlMessageViewControllerTests

testBottomAnimation() 0.00s
testCenterAnimation() 0.00s
testFullAnimation() 0.00s
testTopAnimation() 0.00s
testTrackInAppClick() 0.06s
testTrackInAppClose() 0.03s
testTrackInAppOpen() 0.01s
testWebViewBottomPositioning() 0.00s
testWebViewBottomPositioningWithSafeAreaInsets() 0.00s
testWebViewCenterPositioning() 0.00s
testWebViewFullPositioning() 0.00s
testWebViewTopPositioning() 0.00s
testWebViewTopPositioningWithSafeAreaInsets() 0.01s

IterableInboxViewControllerTests

testInitializers() 0.03s

IterableRequestTests

testGetRequestSerialization() 0.00s
testGetRequestSerializationWithNilArgs() 0.00s
testPostRequestSerialization() 0.01s
testPostRequestSerializationWithNilBody() 0.00s

IterableRequestUtilTests

testDictToJsonData() 0.00s
testGetRequest() 0.00s
testGetRequestWithPlusSignInEmail() 0.00s
testPostRequest() 0.00s

IterableUtilTests

testDifferentGeneralSeparator() 0.00s
testDifferentPairSeparator() 0.00s
testEmptyDescribe() 0.00s
testSingleElementDescribe() 0.00s

KeychainWrapperTests

testDelete() 0.00s
testRemoveAll() 0.01s
testRewrite() 0.01s
testSave() 0.01s

LocalStorageTests

testAttributionInfo() 0.02s
testAuthDataInKeychain() 0.01s
testAuthToken() 0.01s
testDDLChecked() 0.01s
testDeviceId() 0.01s
testOfflineMode() 0.01s
testSdkVersion() 0.01s
testUserIdAndEmail() 0.08s

LoggingTests

testLogging() 0.51s

NotificationMetadataTests

testDeserializedFromIterableJson() 0.00s
testInvalidPayloads() 0.01s
testValidGhostPayload() 0.00s
testValidProofPayload() 0.05s
testValidProofPayloadNoCampaignId() 0.00s
testValidRealPayload() 0.00s
testValidTestPayload() 0.00s

NotificationObserverTests

testNotificationStateChangeUpdatesStorage() 0.22s

NotificationResponseTests

testActionButtonDismiss() 0.01s
testLegacyDeepLinkPayload() 0.00s
testSaveAttributionInfo() 0.13s
testTrackOpenPushWithCustomAction() 0.00s

OrderedDictionaryTests

testNonExistentKey() 0.00s
testOrderedDictCount() 0.00s
testOrderedDictDescription() 0.00s
testOrderedDictLiteralInit() 0.00s
testOrderedDictSubscript() 0.00s
testRemoveValue() 0.00s

PendingTests

testFlatMap() 1.01s
testFlatMapFailure1() 1.01s
testFlatMapFailure2() 1.00s
testFutureInitWithFailure() 1.01s
testFutureInitWithSuccess() 1.01s
testMap() 1.01s
testMapFailure() 1.01s
testMultiValues() 0.01s
testWaitUntilFinished() 0.31s

RedirectNetworkSessionTests

testDeepLinkManagerUsesRedirectNetworkSession() 0.02s
testRedirectCompletionHandlerAllowsRedirect() 0.03s
testRedirectWithMalformedCookiesStillAllowsRedirect() 0.00s
testRedirectWithNoHeaderFields() 0.00s
testRedirectWithoutCookiesStillAllowsRedirect() 0.00s

RegistrationTests

testRegisterTokenWithAutoPlatformAndNoIntegrationNameChooseProduction() 0.14s
testRegisterTokenWithAutoPlatformAndNoIntegrationNameChooseSandbox() 0.17s
testRegisterTokenWithAutoPlatformChooseProduction() 0.12s
testRegisterTokenWithAutoPlatformChooseSandbox() 0.13s
testRegisterTokenWithProductionPlatform() 0.13s
testRegisterTokenWithSandboxPlatform() 0.13s

RequestCreatorTests

testFaultyTrackInboxSessionRequest() 0.00s
testGetInAppMessagesRequest() 0.00s
testGetInAppMessagesRequestFailure() 0.00s
testProcessorTypeOfflineInHeader() 0.00s
testRegisterTokenRequestPrefersUserId() 0.00s
testTrackEventRequest() 0.00s
testTrackInAppClickRequest() 0.00s
testTrackInAppCloseRequest() 0.00s
testTrackInAppConsumeRequest() 0.00s
testTrackInAppDeliveryRequest() 0.01s
testTrackInAppOpenRequest() 0.00s
testTrackInboxSession() 0.00s
testUpdateSubscriptionsRequest() 0.00s
testUserlessTrackInboxSessionRequest() 0.02s
testUserlessUpdateSubscriptionsRequest() 0.00s
testUserlessUpdateUserRequest() 0.00s

WebViewProtocolTests

testVerifyViewPosition() 0.01s
testWebViewHeightCalculationReject() 0.65s

ui-tests

Tests

⚠️ All tests 0.00s

notification-extension-tests

NotificationExtensionTests

testAddActionButtonWithSystemImageIcon() 0.10s
testAddActionButtonWithTemplateImageIcon() 0.07s
testNilActionButtonIcon() 0.07s
testPushButtonWithNoType() 0.08s
testPushDestructiveSilentActionButton() 0.07s
testPushDynamicCategory() 0.08s
testPushImageAttachment() 0.86s
testPushIncorrectAttachment() 0.02s
testPushTextInputForegroundButton() 0.07s
testPushTextInputSilentButton() 0.07s
testPushVideoAttachment() 0.57s

TestFileTests

testSayHello() 0.00s

inbox-ui-tests

Tests

⚠️ All tests 0.00s

offline-events-tests

HealthMonitorTests

testCountTasksException() 0.21s
testNextTaskException() 0.20s
testScheduleTaskException() 0.21s
testUseOfflineProcessorByDefault() 0.25s

NetworkConnectivityCheckerTests

testIsConnected() 0.00s
testIsConnectedByDefault() 0.24s
testIsNotConnectedIfError() 0.00s
testIsNotConnectedIfWrongStatus() 0.00s

NetworkConnectivityManagerTests

testConnectivityChange() 2.02s
testNetworkMonitor() 2.01s
testOfflinePollingInterval() 0.51s
testOnlinePollingInterval() 0.51s
testPollingNetworkMonitor() 4.01s

RequestHandlerTests

testCreatedAtSentAtForOffline() 0.19s
testCreatedAtSentAtForOnline() 0.07s
testDefaultRemoteConfigurationUsesOnlineMode() 0.34s
testDisableUserforAllUsers() 0.31s
testDisableUserforCurrentUser() 0.33s
testFeatureFlagTurnOnOfflineMode() 0.47s
testGetRemoteConfiguration() 0.08s
testLoadOfflineModeDisabledFromLocalStorage() 0.13s
testLoadOfflineModeEnabledFromLocalStorage() 0.20s
testNoRemoteConfigurationUsesOnline() 0.15s
testRegister() 0.12s
testTrackEvent() 0.20s
testTrackInAppClick2() 0.22s
testTrackInAppClose() 0.23s
testTrackInAppConsume() 0.14s
testTrackInAppConsume2() 0.20s
testTrackInAppDelivery() 0.21s
testTrackInAppOpen2() 0.13s
testTrackPurchase() 0.19s
testTrackPurchase2() 0.34s
testTrackPushOpen() 0.24s
testUpdateEmail() 0.12s
testUpdateSubscriptions() 0.19s
testUpdateUser() 0.14s

TaskProcessorTests

testAPICallForTrackEventWithPersistence() 0.24s
testCreatedAtInBody() 0.02s
testNetworkAvailable() 0.03s
testNetworkUnavailable() 0.04s
testSentAtInHeader() 0.02s
testUnrecoverableError() 0.02s

TaskRunnerTests

testDoNotRunWhenNetworkIsOffline() 1.03s
testFailureWithNoRetry() 1.08s
testFailureWithRetry() 1.05s
testForegroundBackgroundChange() 1.07s
testMultipleTasksInSequence() 1.14s
testResumeWhenNetworkIsBackOnline() 2.19s
testSentAtInHeader() 0.09s

TasksCRUDTests

testCountTasks() 0.03s
testCreate() 0.09s
testDelete() 0.03s
testFindAll() 0.02s
testFindNextTask() 0.04s
testUpdate() 0.10s

Tests

⚠️ TaskSchedulerTests 0.00s
<h3>Skipped Tests</h3>
Test Name Duration
AuthTests/testOnNewAuthTokenCallbackCalled 0.00s
AuthTests/testRetryJwtFailure 0.00s
HealthMonitorTests/testDeleteAllTasksException 0.00s
InAppPresenterTests/testInAppPresenterTimerFinished 0.00s
InAppTests/testIgnoreReadMessagesOnProcessing 0.00s
InAppTests/testMultipleMesssagesInShortTime 0.00s
IterableAPIResponseTests/testRetryOnInvalidJwtPayload 0.00s
RequestHandlerTests/testDeleteAllTasksOnLogout 0.00s
RequestHandlerTests/testTrackInAppClick 0.00s
RequestHandlerTests/testTrackInAppOpen 0.00s
RequestHandlerTests/testTrackInboxSession 0.00s
TaskRunnerTests/testCreatedAtInBody 0.00s
TaskSchedulerTests/testScheduleTask 0.00s

Details

Code Coverage Results

Coverage for TestResults.xcresult

Target Coverage Covered Executable
Total ██████████████░░░░░░ 71.00% 9072 12777
IterableAppExtensions.framework ████████████████░░░░ 83.28% 264 317
  ITBNotificationServiceExtension.swift ████████████████░░░░ 80.85% 152 188
  NotificationContentParser.swift █████████████████░░░ 86.51% 109 126
  TestFile.swift ████████████████████ 100.00% 3 3
IterableSDK.framework ██████████████░░░░░░ 70.69% 8808 12460
  AbstractDiffCalculator.swift ░░░░░░░░░░░░░░░░░░░░ 0.00% 0 36
  ActionRunner.swift █████████████████░░░ 87.50% 63 72
  ApiClient.swift ███████████████░░░░░ 78.22% 176 225
  APNSTypeChecker.swift █████████████████░░░ 86.32% 82 95
  AppExtensionHelper.swift ██████░░░░░░░░░░░░░░ 34.29% 12 35
  Auth.swift ████████████████████ 100.00% 9 9
  AuthFailure.swift ████████████████████ 100.00% 6 6
  AuthManager.swift ███████████████████░ 96.35% 211 219
  ClassExtensions.swift ██████████████████░░ 90.48% 95 105
  CommerceItem.swift ████████████████████ 100.00% 44 44
  Constants.swift ███████████████████░ 97.44% 38 39
  CoreDataUtil.swift █████████████████░░░ 88.14% 52 59
  DataFieldsHelper.swift ██████████████████░░ 93.67% 74 79
  DateProvider.swift ████████████████████ 100.00% 4 4
  DeepLinkManager.swift ███████████████████░ 95.93% 118 123
  DependencyContainer.swift ░░░░░░░░░░░░░░░░░░░░ 0.00% 0 21
  DependencyContainerProtocol.swift █████████████████░░░ 85.15% 86 101
  Dwifft+UIKit.swift ░░░░░░░░░░░░░░░░░░░░ 0.00% 0 80
  Dwifft.swift ███████████████░░░░░ 78.95% 255 323
  EmbeddedHelper.swift ░░░░░░░░░░░░░░░░░░░░ 0.00% 0 53
  EmbeddedMessagingProcessor.swift ███████████████████░ 97.67% 42 43
  EmbeddedMessagingSerialization.swift ░░░░░░░░░░░░░░░░░░░░ 0.00% 0 96
  EmbeddedSessionManager.swift ░░░░░░░░░░░░░░░░░░░░ 0.00% 0 82
  EmptyEmbeddedManager.swift ░░░░░░░░░░░░░░░░░░░░ 0.00% 0 33
  EmptyInAppManager.swift █████████████████░░░ 85.71% 36 42
  HealthMonitor.swift █████████████████░░░ 86.54% 90 104
  InAppCalculations.swift ██████████████░░░░░░ 71.07% 86 121
  InAppContentParser.swift █████████████████░░░ 85.71% 144 168
  InAppDisplayer.swift ██████████░░░░░░░░░░ 52.11% 37 71
  InAppHelper.swift ███████████████████░ 98.80% 82 83
  InAppInternal.swift ████████░░░░░░░░░░░░ 42.22% 19 45
  InAppManager+Functions.swift ████████████████████ 100.00% 139 139
  InAppManager.swift ██████████████████░░ 93.57% 626 669
  InAppMessageParser.swift ███████████████████░ 98.14% 158 161
  InAppPersistence.swift ████████████████░░░░ 81.34% 292 359
  InAppPresenter.swift ████████████████░░░░ 81.54% 53 65
  InboxImpressionTracker.swift ███████████████████░ 96.39% 80 83
  InboxMessageViewModel.swift ████████████████████ 100.00% 39 39
  InboxSessionManager.swift █████████████████░░░ 88.46% 46 52
  InboxState.swift ████████████░░░░░░░░ 61.82% 34 55
  InboxViewControllerViewModel.swift ████████░░░░░░░░░░░░ 42.93% 176 410
  InboxViewRepresentable.swift ░░░░░░░░░░░░░░░░░░░░ 0.00% 0 15
  InternalIterableAPI.swift █████████████████░░░ 87.96% 599 681
  InternalIterableAppIntegration.swift ████████████████░░░░ 80.08% 189 236
  IterableAction.swift ████████████████████ 100.00% 17 17
  IterableActionContext.swift ████████████████████ 100.00% 4 4
  IterableAPI.swift ░░░░░░░░░░░░░░░░░░░░ 3.67% 9 245
  IterableAPICallRequest.swift ███████████████████░ 98.39% 61 62
  IterableAPICallTaskProcessor.swift ███████████████████░ 96.36% 53 55
  IterableAPIMobileFrameworkDetector.swift ███████████████░░░░░ 79.37% 50 63
  IterableAppIntegration.swift ░░░░░░░░░░░░░░░░░░░░ 0.00% 0 21
  IterableAttributionInfo.swift ████████████████████ 100.00% 25 25
  IterableConfig.swift ████████████████████ 100.00% 16 16
  IterableCoreDataPersistence.swift █████████████████░░░ 89.94% 143 159
  IterableEmbeddedManager.swift █████████████░░░░░░░ 68.93% 193 280
  IterableEmbeddedMessage.swift ████████████████████ 100.00% 16 16
  IterableEmbeddedView.swift ░░░░░░░░░░░░░░░░░░░░ 0.00% 0 384
  IterableHtmlMessageViewController.swift █████████████░░░░░░░ 69.82% 236 338
  IterableInAppMessage.swift ████████████████████ 100.00% 21 21
  IterableInboxCell+Layout.swift ░░░░░░░░░░░░░░░░░░░░ 0.00% 0 108
  IterableInboxCell.swift ░░░░░░░░░░░░░░░░░░░░ 0.00% 0 17
  IterableInboxNavigationViewController.swift ░░░░░░░░░░░░░░░░░░░░ 0.00% 0 155
  IterableInboxView.swift ░░░░░░░░░░░░░░░░░░░░ 0.00% 0 50
  IterableInboxViewController.swift █░░░░░░░░░░░░░░░░░░░ 6.64% 30 452
  IterableKeychain.swift ███████████████░░░░░ 77.42% 48 62
  IterableLogging.swift █████████████████░░░ 88.89% 24 27
  IterableLogUtil.swift ████████████████████ 100.00% 39 39
  IterableMessaging.swift ████████████████░░░░ 82.76% 24 29
  IterableNotifications.swift ████████████████░░░░ 84.21% 32 38
  IterablePersistence.swift ████████████████████ 100.00% 6 6
  IterablePushNotificationMetadata.swift ████████████████████ 100.00% 16 16
  IterableRequest.swift ███████████████████░ 96.77% 60 62
  IterableRequestUtil.swift ███████████████████░ 95.56% 86 90
  IterableTask.swift ████████████████░░░░ 82.93% 34 41
  IterableTaskError.swift ████████████░░░░░░░░ 60.00% 6 10
  IterableTaskManagedObject.swift ░░░░░░░░░░░░░░░░░░░░ 0.00% 0 3
  IterableTaskRunner.swift ██████████████████░░ 93.99% 360 383
  IterableTaskScheduler.swift ██████████████░░░░░░ 71.60% 58 81
  IterableUserDefaults.swift █████████████░░░░░░░ 67.97% 104 153
  IterableUtil.swift ██████████████████░░ 93.48% 86 92
  KeychainWrapper.swift ███████████████████░ 97.87% 92 94
  LocalStorage.swift ██████████████░░░░░░ 72.82% 75 103
  LocalStorageProtocol.swift ░░░░░░░░░░░░░░░░░░░░ 0.00% 0 2
  MiscEmbeddedClasses.swift ░░░░░░░░░░░░░░░░░░░░ 0.00% 0 13
  MiscInboxClasses.swift ████████████████████ 100.00% 16 16
  NetworkConnectivityChecker.swift ███████████████████░ 98.39% 122 124
  NetworkConnectivityManager.swift ███████████████████░ 95.60% 87 91
  NetworkHelper.swift ███████████████████░ 97.96% 240 245
  NetworkMonitor.swift ████████████████████ 100.00% 28 28
  NetworkSession.swift ████████░░░░░░░░░░░░ 44.44% 40 90
  NotificationHelper.swift ███████████████████░ 98.59% 70 71
  OfflineRequestProcessor.swift ██████████████░░░░░░ 73.14% 335 458
  OnlineRequestProcessor.swift ████████████████░░░░ 81.58% 186 228
  OrderedDictionary.swift ██████████████████░░ 91.84% 90 98
  Pending.swift ██████████████████░░ 92.02% 219 238
  PersistenceHelper.swift ███████████████████░ 97.14% 34 35
  RequestCreator.swift ██████████████░░░░░░ 73.52% 422 574
  RequestHandler.swift ██████████████░░░░░░ 74.93% 251 335
  RequestProcessorUtil.swift █████████████████░░░ 85.64% 167 195
  RequestSender.swift ████████████████████ 100.00% 92 92
  ResourceHelper.swift █████████████████░░░ 88.89% 16 18
  RetryPolicy.swift ████████████████████ 100.00% 5 5
  SectionedValues.swift ████████████░░░░░░░░ 64.44% 29 45
  UIColor+Extension.swift ████░░░░░░░░░░░░░░░░ 23.81% 5 21
  WebViewProtocol.swift ██████████████████░░ 92.68% 38 41