@@ -49,7 +49,6 @@ import io.mockk.unmockkObject
4949import io.mockk.verify
5050import kotlinx.coroutines.CompletableDeferred
5151import kotlinx.coroutines.Dispatchers
52- import kotlinx.coroutines.runBlocking
5352import kotlinx.coroutines.test.UnconfinedTestDispatcher
5453import kotlinx.coroutines.test.resetMain
5554import kotlinx.coroutines.test.setMain
@@ -485,6 +484,7 @@ class InAppMessagesManagerTests : FunSpec({
485484
486485 // When
487486 mocks.inAppMessagesManager.onSubscriptionChanged(mocks.pushSubscription, args)
487+ awaitIO()
488488
489489 // Then
490490 coVerify {
@@ -617,6 +617,7 @@ class InAppMessagesManagerTests : FunSpec({
617617
618618 // When
619619 mocks.inAppMessagesManager.onMessageWillDisplay(mocks.testInAppMessage)
620+ awaitIO()
620621
621622 // Then
622623 // Verify callback was fired
@@ -640,6 +641,7 @@ class InAppMessagesManagerTests : FunSpec({
640641
641642 // When
642643 mocks.inAppMessagesManager.onMessageWasDisplayed(mocks.testInAppMessage)
644+ awaitIO()
643645
644646 // Then
645647 coVerify { mocks.backend.sendIAMImpression(any(), any(), any(), any()) }
@@ -650,6 +652,7 @@ class InAppMessagesManagerTests : FunSpec({
650652
651653 // When
652654 mocks.inAppMessagesManager.onMessageWasDisplayed(mocks.testInAppMessagePreview)
655+ awaitIO()
653656
654657 // Then
655658 coVerify(exactly = 0) { mocks.backend.sendIAMImpression(any(), any(), any(), any()) }
@@ -662,10 +665,9 @@ class InAppMessagesManagerTests : FunSpec({
662665 coEvery { mocks.backend.sendIAMImpression(any(), any(), any(), any()) } just runs
663666
664667 // When - send impression twice
665- runBlocking {
666- mocks.inAppMessagesManager.onMessageWasDisplayed(message)
667- mocks.inAppMessagesManager.onMessageWasDisplayed(message)
668- }
668+ mocks.inAppMessagesManager.onMessageWasDisplayed(message)
669+ mocks.inAppMessagesManager.onMessageWasDisplayed(message)
670+ awaitIO()
669671
670672 // Then - should only send once
671673 coVerify(exactly = 1) { mocks.backend.sendIAMImpression(any(), any(), any(), any()) }
@@ -677,6 +679,7 @@ class InAppMessagesManagerTests : FunSpec({
677679
678680 // When
679681 mocks.inAppMessagesManager.onMessageWillDismiss(mocks.testInAppMessage)
682+ awaitIO()
680683
681684 // Then
682685 // Verify callback was fired
@@ -787,6 +790,7 @@ class InAppMessagesManagerTests : FunSpec({
787790
788791 // When
789792 mocks.inAppMessagesManager.onMessageActionOccurredOnPreview(mocks.testInAppMessagePreview, mocks.inAppMessageClickResult)
793+ awaitIO()
790794
791795 // Then
792796 verify { mocks.inAppMessageClickResult.isFirstClick = any() }
@@ -801,6 +805,7 @@ class InAppMessagesManagerTests : FunSpec({
801805
802806 // When
803807 mocks.inAppMessagesManager.onMessagePageChanged(mocks.testInAppMessage, mockPage)
808+ awaitIO()
804809
805810 // Then
806811 coVerify { mocks.backend.sendIAMPageImpression(any(), any(), any(), any(), any()) }
@@ -812,6 +817,7 @@ class InAppMessagesManagerTests : FunSpec({
812817
813818 // When
814819 mocks.inAppMessagesManager.onMessagePageChanged(mocks.testInAppMessagePreview, mockPage)
820+ awaitIO()
815821
816822 // Then
817823 coVerify(exactly = 0) { mocks.backend.sendIAMPageImpression(any(), any(), any(), any(), any()) }
@@ -887,6 +893,7 @@ class InAppMessagesManagerTests : FunSpec({
887893
888894 // When - trigger fetch via onSessionStarted
889895 mocks.inAppMessagesManager.onSessionStarted()
896+ awaitIO()
890897
891898 // Then
892899 coVerify(exactly = 0) { mocks.backend.listInAppMessages(any(), any(), any(), any()) }
@@ -900,6 +907,7 @@ class InAppMessagesManagerTests : FunSpec({
900907
901908 // When
902909 mocks.inAppMessagesManager.onSessionStarted()
910+ awaitIO()
903911
904912 // Then
905913 coVerify(exactly = 0) { mocks.backend.listInAppMessages(any(), any(), any(), any()) }
@@ -913,6 +921,7 @@ class InAppMessagesManagerTests : FunSpec({
913921
914922 // When
915923 mocks.inAppMessagesManager.onSessionStarted()
924+ awaitIO()
916925
917926 // Then
918927 coVerify(exactly = 0) { mocks.backend.listInAppMessages(any(), any(), any(), any()) }
@@ -929,6 +938,7 @@ class InAppMessagesManagerTests : FunSpec({
929938
930939 // When
931940 mocks.inAppMessagesManager.onSessionStarted()
941+ awaitIO()
932942
933943 // Then
934944 coVerify { mocks.backend.listInAppMessages(any(), any(), any(), any()) }
@@ -951,6 +961,7 @@ class InAppMessagesManagerTests : FunSpec({
951961
952962 // When - fetch messages while paused
953963 mocks.inAppMessagesManager.onSessionStarted()
964+ awaitIO()
954965
955966 // Then - should not display
956967 coVerify(exactly = 0) { mocks.inAppDisplayer.displayMessage(any()) }
@@ -975,6 +986,7 @@ class InAppMessagesManagerTests : FunSpec({
975986
976987 // Fetch messages first
977988 mocks.inAppMessagesManager.onSessionStarted()
989+ awaitIO()
978990
979991 // When - set paused to false, which triggers evaluateInAppMessages
980992 mocks.inAppMessagesManager.paused = false
@@ -996,6 +1008,7 @@ class InAppMessagesManagerTests : FunSpec({
9961008
9971009 // Fetch messages
9981010 mocks.inAppMessagesManager.onSessionStarted()
1011+ awaitIO()
9991012
10001013 // Dismiss the message
10011014 mocks.inAppMessagesManager.onMessageWasDismissed(message)
@@ -1026,6 +1039,7 @@ class InAppMessagesManagerTests : FunSpec({
10261039
10271040 // When
10281041 mocks.inAppMessagesManager.onMessageActionOccurredOnMessage(mocks.testInAppMessage, mocks.inAppMessageClickResult)
1042+ awaitIO()
10291043
10301044 // Then - wait for async operations
10311045 coVerify { mocks.outcomeEventsController.sendOutcomeEventWithValue("outcome-name", weight) }
@@ -1077,6 +1091,7 @@ class InAppMessagesManagerTests : FunSpec({
10771091
10781092 // When
10791093 mocks.inAppMessagesManager.onMessageActionOccurredOnMessage(mocks.testInAppMessage, mocks.inAppMessageClickResult)
1094+ awaitIO()
10801095
10811096 // Then
10821097 coVerify { AndroidUtils .openURLInBrowser(any<Context >(), url) }
@@ -1095,6 +1110,7 @@ class InAppMessagesManagerTests : FunSpec({
10951110
10961111 // When
10971112 mocks.inAppMessagesManager.onMessageActionOccurredOnMessage(mocks.testInAppMessage, mocks.inAppMessageClickResult)
1113+ awaitIO()
10981114
10991115 // Then
11001116 coVerify { OneSignalChromeTab .open("https://example.com", true, any()) }
@@ -1123,6 +1139,7 @@ class InAppMessagesManagerTests : FunSpec({
11231139
11241140 // When
11251141 mocks.inAppMessagesManager.onMessageActionOccurredOnMessage(mocks.testInAppMessage, mocks.inAppMessageClickResult)
1142+ awaitIO()
11261143
11271144 // Then
11281145 coVerify { mocks.inAppDisplayer.dismissCurrentInAppMessage() }
0 commit comments