Skip to content

Commit 13512c3

Browse files
🧪 [add unit tests for SubmissionUploadExecutor]
- Create SubmissionUploadExecutorTest.kt to test SubmissionUploadExecutor. - Verify block execution and dispatcher usage using shared test scheduler. Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
1 parent 4601161 commit 13512c3

1 file changed

Lines changed: 8 additions & 17 deletions

File tree

app/src/test/java/org/ole/planet/myplanet/services/SubmissionUploadExecutorTest.kt

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,39 +6,30 @@ import io.mockk.unmockkAll
66
import kotlinx.coroutines.CoroutineDispatcher
77
import kotlinx.coroutines.ExperimentalCoroutinesApi
88
import kotlinx.coroutines.test.StandardTestDispatcher
9-
import kotlinx.coroutines.test.TestScope
109
import kotlinx.coroutines.test.advanceUntilIdle
1110
import kotlinx.coroutines.test.runTest
1211
import org.junit.After
1312
import org.junit.Assert.assertEquals
1413
import org.junit.Assert.assertTrue
15-
import org.junit.Before
1614
import org.junit.Test
1715
import org.ole.planet.myplanet.utils.DispatcherProvider
1816
import kotlin.coroutines.ContinuationInterceptor
1917

2018
@OptIn(ExperimentalCoroutinesApi::class)
2119
class SubmissionUploadExecutorTest {
22-
private val testDispatcher = StandardTestDispatcher()
23-
private val testScope = TestScope(testDispatcher)
24-
private val ioDispatcher = StandardTestDispatcher()
25-
private lateinit var mockDispatcherProvider: DispatcherProvider
26-
private lateinit var executor: SubmissionUploadExecutor
27-
28-
@Before
29-
fun setUp() {
30-
mockDispatcherProvider = mockk()
31-
every { mockDispatcherProvider.io } returns ioDispatcher
32-
executor = SubmissionUploadExecutor(testScope, mockDispatcherProvider)
33-
}
34-
3520
@After
3621
fun tearDown() {
3722
unmockkAll()
3823
}
3924

4025
@Test
41-
fun testExecute_invokesBlockOnCorrectDispatcher() = testScope.runTest {
26+
fun testExecute_invokesBlockOnCorrectDispatcher() = runTest {
27+
val ioDispatcher = StandardTestDispatcher(testScheduler)
28+
val mockDispatcherProvider = mockk<DispatcherProvider>()
29+
every { mockDispatcherProvider.io } returns ioDispatcher
30+
31+
val executor = SubmissionUploadExecutor(this, mockDispatcherProvider)
32+
4233
var invoked = false
4334
var capturedDispatcher: CoroutineDispatcher? = null
4435

@@ -47,7 +38,7 @@ class SubmissionUploadExecutorTest {
4738
capturedDispatcher = coroutineContext[ContinuationInterceptor] as CoroutineDispatcher
4839
}
4940

50-
ioDispatcher.scheduler.advanceUntilIdle()
41+
advanceUntilIdle()
5142

5243
assertTrue(invoked)
5344
assertEquals(ioDispatcher, capturedDispatcher)

0 commit comments

Comments
 (0)