Skip to content

Commit c39583c

Browse files
authored
fix unit-tests
1 parent abce3c1 commit c39583c

1 file changed

Lines changed: 24 additions & 7 deletions

File tree

stream-video-android-core/src/test/kotlin/io/getstream/video/android/core/notifications/internal/service/observers/CallServiceRingingStateObserverTest.kt

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import android.content.Context
2020
import android.media.AudioManager
2121
import io.getstream.video.android.core.Call
2222
import io.getstream.video.android.core.CallState
23+
import io.getstream.video.android.core.IncomingRingtoneOwner
2324
import io.getstream.video.android.core.RingingState
2425
import io.getstream.video.android.core.StreamVideoClient
2526
import io.getstream.video.android.core.model.RejectReason
@@ -63,6 +64,8 @@ class CallServiceRingingStateObserverTest {
6364

6465
private val ringingStateFlow =
6566
MutableStateFlow<RingingState>(RingingState.Idle)
67+
private val incomingRingtoneOwnerFlow =
68+
MutableStateFlow<IncomingRingtoneOwner>(IncomingRingtoneOwner.Legacy)
6669

6770
private val onStopServiceInvoked = mutableListOf<Unit>()
6871

@@ -75,6 +78,7 @@ class CallServiceRingingStateObserverTest {
7578

7679
callState = mockk {
7780
every { this@mockk.ringingState } returns ringingStateFlow
81+
every { this@mockk.incomingRingtoneOwner } returns incomingRingtoneOwnerFlow
7882
}
7983

8084
call = mockk {
@@ -123,28 +127,41 @@ class CallServiceRingingStateObserverTest {
123127
}
124128

125129
@Test
126-
fun `incoming not accepted plays sound and vibrates`() = runTest {
130+
fun `legacy incoming call not accepted plays sound and vibrates`() = runTest {
127131
observer.observe { onStopServiceInvoked.add(Unit) }
128-
advanceUntilIdle()
129132

130133
ringingStateFlow.value = RingingState.Incoming(acceptedByMe = false)
131134
advanceUntilIdle()
132-
advanceTimeBy(100L)
133-
verify {
135+
136+
verify(exactly = 1) {
134137
soundPlayer.vibrate(any())
135138
soundPlayer.playCallSound(any(), true)
136139
}
137140
}
138141

139142
@Test
140-
fun `incoming accepted stops sound`() = runTest {
143+
fun `notification owned incoming call does not play service ringtone`() = runTest {
144+
incomingRingtoneOwnerFlow.value = IncomingRingtoneOwner.Notification
145+
141146
observer.observe { }
147+
148+
ringingStateFlow.value = RingingState.Incoming(acceptedByMe = false)
142149
advanceUntilIdle()
143150

151+
verify(exactly = 0) {
152+
soundPlayer.vibrate(any())
153+
soundPlayer.playCallSound(any(), any())
154+
}
155+
}
156+
157+
@Test
158+
fun `legacy incoming call accepted stops sound`() = runTest {
159+
observer.observe { }
160+
144161
ringingStateFlow.value = RingingState.Incoming(acceptedByMe = true)
145162
advanceUntilIdle()
146-
advanceTimeBy(100L)
147-
verify { soundPlayer.stopCallSound() }
163+
164+
verify(exactly = 1) { soundPlayer.stopCallSound() }
148165
}
149166

150167
@Test

0 commit comments

Comments
 (0)