Skip to content

Commit 891819f

Browse files
committed
chore(tests): Add SessionListenerTests class
1 parent 14b5d76 commit 891819f

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package com.onesignal.session.internal.session.impl
2+
3+
import com.onesignal.common.TimeUtils
4+
import com.onesignal.mocks.MockHelper
5+
import com.onesignal.user.internal.operations.TrackSessionStartOperation
6+
import io.kotest.core.spec.style.FunSpec
7+
import io.kotest.matchers.shouldBe
8+
import io.mockk.every
9+
import io.mockk.mockk
10+
import io.mockk.mockkObject
11+
import io.mockk.unmockkObject
12+
import io.mockk.verify
13+
14+
class SessionListenerTests : FunSpec({
15+
16+
test("onSessionStarted enqueues TrackSessionStartOperation") {
17+
// Given
18+
val mockOperationRepo = mockk<com.onesignal.core.internal.operations.IOperationRepo>(relaxed = true)
19+
20+
val sessionListener =
21+
SessionListener(
22+
mockOperationRepo,
23+
mockk<com.onesignal.session.internal.session.ISessionService>(relaxed = true),
24+
MockHelper.configModelStore(),
25+
MockHelper.identityModelStore(),
26+
mockk<com.onesignal.session.internal.outcomes.IOutcomeEventsController>(relaxed = true),
27+
)
28+
29+
// When
30+
sessionListener.onSessionStarted()
31+
32+
// Then
33+
verify(exactly = 1) {
34+
mockOperationRepo.enqueue(any<TrackSessionStartOperation>(), true)
35+
}
36+
}
37+
})

0 commit comments

Comments
 (0)