Skip to content

Commit ccd8c46

Browse files
committed
Fix timing condition in OutcomeEventsControllerTests unit test
1 parent 01b3cdc commit ccd8c46

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

OneSignalSDK/onesignal/core/src/test/java/com/onesignal/session/internal/outcomes/OutcomeEventsControllerTests.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,7 @@ class OutcomeEventsControllerTests : FunSpec({
308308

309309
test("send unique outcome with same indirect influences") {
310310
/* Given */
311+
val waiter = Waiter()
311312
val now = 111L
312313
val notificationIds = "[\"id1\",\"id2\"]"
313314
val mockSessionService = mockk<ISessionService>()
@@ -319,7 +320,7 @@ class OutcomeEventsControllerTests : FunSpec({
319320

320321
val mockOutcomeEventsRepository = mockk<IOutcomeEventsRepository>()
321322
coEvery { mockOutcomeEventsRepository.getNotCachedUniqueInfluencesForOutcome("OUTCOME_1", any()) } returns listOf(notificationInfluence) andThen listOf()
322-
coEvery { mockOutcomeEventsRepository.saveUniqueOutcomeEventParams(any()) }
323+
coEvery { mockOutcomeEventsRepository.saveUniqueOutcomeEventParams(any()) } answers { waiter.wake() }
323324

324325
val subscriptionModel = SubscriptionModel()
325326
subscriptionModel.id = "subscriptionId"
@@ -345,6 +346,8 @@ class OutcomeEventsControllerTests : FunSpec({
345346
val evnt1 = outcomeEventsController.sendUniqueOutcomeEvent("OUTCOME_1")
346347
val evnt2 = outcomeEventsController.sendUniqueOutcomeEvent("OUTCOME_1")
347348

349+
waiter.waitForWake()
350+
348351
/* Then */
349352
evnt1 shouldNotBe null
350353
evnt1!!.name shouldBe "OUTCOME_1"

0 commit comments

Comments
 (0)