Skip to content

Commit 1416d96

Browse files
committed
tests: make sure startObservingUsbDevice works as expected when the device is null
1 parent 7538082 commit 1416d96

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

app/src/test/java/org/kabiri/android/usbterminal/viewmodel/MainActivityViewModelTest.kt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,23 @@ internal class MainActivityViewModelTest {
7676
assertThat(sut.infoMessage.value).contains(expected.toString())
7777
}
7878

79+
@Test
80+
fun `startObservingUsbDevice does not call openDeviceAndPort when device is null`() = runTest {
81+
// Arrange
82+
val expected = null
83+
val deviceFlow = MutableStateFlow<UsbDevice?>(expected)
84+
every { mockUsbUseCase.usbDevice } returns deviceFlow
85+
86+
// Act
87+
sut.startObservingUsbDevice()
88+
deviceFlow.value = expected
89+
advanceUntilIdle()
90+
91+
// Assert
92+
verify(exactly = 0) { mockArduinoUsecase.openDeviceAndPort(any()) }
93+
assertThat(sut.infoMessage.value).contains(expected.toString())
94+
}
95+
7996
@Test
8097
fun `connect emits expected message when device list is empty`() =
8198
runTest {

0 commit comments

Comments
 (0)