Skip to content

Commit 3b4876a

Browse files
committed
tests: move scope to constructor for testability
1 parent 3990a97 commit 3b4876a

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

app/src/androidTest/java/org/kabiri/android/usbterminal/domain/GetCustomBaudRateUseCaseAndroidTest.kt

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.kabiri.android.usbterminal.domain
22

33
import com.google.common.truth.Truth.assertThat
4-
import kotlinx.coroutines.ExperimentalCoroutinesApi
54
import kotlinx.coroutines.flow.first
65
import kotlinx.coroutines.test.runTest
76
import org.junit.Test

app/src/androidTest/java/org/kabiri/android/usbterminal/domain/SetCustomBaudRateUseCaseAndroidTest.kt

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
package org.kabiri.android.usbterminal.domain
22

33
import com.google.common.truth.Truth.assertThat
4+
import kotlinx.coroutines.ExperimentalCoroutinesApi
5+
import kotlinx.coroutines.test.advanceUntilIdle
46
import kotlinx.coroutines.test.runTest
57
import org.junit.Test
68
import org.kabiri.android.usbterminal.common.getFakeUserSettingRepository
79

10+
@OptIn(ExperimentalCoroutinesApi::class)
811
internal class SetCustomBaudRateUseCaseAndroidTest {
912

1013
@Test
@@ -16,11 +19,13 @@ internal class SetCustomBaudRateUseCaseAndroidTest {
1619
isCalledSetBaudRate = true
1720
})
1821
val sut = SetCustomBaudRateUseCase(
19-
userSettingRepository = fakeUserSettingRepository
22+
userSettingRepository = fakeUserSettingRepository,
23+
scope = this,
2024
)
2125

2226
// act
23-
sut(123)
27+
sut.invoke(123)
28+
advanceUntilIdle()
2429

2530
// assert
2631
assertThat(isCalledSetBaudRate).isTrue()

app/src/main/java/org/kabiri/android/usbterminal/domain/SetCustomBaudRateUseCase.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ internal fun interface ISetCustomBaudRateUseCase {
1313
internal class SetCustomBaudRateUseCase
1414
@Inject constructor(
1515
private val userSettingRepository: IUserSettingRepository,
16+
private val scope: CoroutineScope = CoroutineScope(Dispatchers.IO)
1617
): ISetCustomBaudRateUseCase {
1718

18-
private val scope = CoroutineScope(Dispatchers.IO)
1919
override fun invoke(baudRate: Int) {
2020
scope.launch {
2121
userSettingRepository.setBaudRate(baudRate)

0 commit comments

Comments
 (0)