File tree Expand file tree Collapse file tree 1 file changed +21
-0
lines changed
app/src/test/java/org/kabiri/android/usbterminal/viewmodel Expand file tree Collapse file tree 1 file changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -55,6 +55,27 @@ internal class MainActivityViewModelTest {
5555 clearAllMocks()
5656 }
5757
58+ @Test
59+ fun `startObservingUsbDevice updates infoMessage and calls openDeviceAndPort when device is emitted` () =
60+ runTest {
61+ // arrange
62+ val expected = 0x0043
63+ val deviceFlow = MutableStateFlow <UsbDevice ?>(null )
64+ val mockDevice: UsbDevice = mockk(relaxed = true )
65+ every { mockDevice.vendorId } returns expected
66+ every { mockUsbUseCase.usbDevice } returns deviceFlow
67+ every { mockArduinoUsecase.openDeviceAndPort(mockDevice) } returns Unit
68+
69+ // act
70+ sut.startObservingUsbDevice()
71+ deviceFlow.value = mockDevice
72+ advanceUntilIdle()
73+
74+ // assert
75+ verify(exactly = 1 ) { mockArduinoUsecase.openDeviceAndPort(mockDevice) }
76+ assertThat(sut.infoMessage.value).contains(expected.toString())
77+ }
78+
5879 @Test
5980 fun `connect emits expected message when device list is empty` () =
6081 runTest {
You can’t perform that action at this time.
0 commit comments