浏览代码

Add test to directly set states

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
Marcel Hibbe 2 年之前
父节点
当前提交
eb8d11ac40
共有 1 个文件被更改,包括 24 次插入0 次删除
  1. 24 0
      app/src/test/java/com/nextcloud/talk/viewmodels/CallRecordingViewModelTest.kt

+ 24 - 0
app/src/test/java/com/nextcloud/talk/viewmodels/CallRecordingViewModelTest.kt

@@ -81,4 +81,28 @@ class CallRecordingViewModelTest : AbstractViewModelTest() {
             (viewModel.viewState.value as CallRecordingViewModel.RecordingStartedState).showStartedInfo
         )
     }
+
+    @Test
+    fun testSetRecordingStateDirectly() {
+        val viewModel = CallRecordingViewModel(repository)
+        viewModel.setData("foo")
+
+        viewModel.setRecordingState(CallRecordingViewModel.RECORDING_STOPPED_CODE)
+        Assert.isTrue(viewModel.viewState.value is CallRecordingViewModel.RecordingStoppedState)
+
+        viewModel.setRecordingState(CallRecordingViewModel.RECORDING_STARTED_AUDIO_CODE)
+        Assert.isTrue(viewModel.viewState.value is CallRecordingViewModel.RecordingStartedState)
+
+        viewModel.setRecordingState(CallRecordingViewModel.RECORDING_STARTED_VIDEO_CODE)
+        Assert.isTrue(viewModel.viewState.value is CallRecordingViewModel.RecordingStartedState)
+
+        viewModel.setRecordingState(CallRecordingViewModel.RECORDING_STARTING_AUDIO_CODE)
+        Assert.isTrue(viewModel.viewState.value is CallRecordingViewModel.RecordingStartingState)
+
+        viewModel.setRecordingState(CallRecordingViewModel.RECORDING_STARTING_VIDEO_CODE)
+        Assert.isTrue(viewModel.viewState.value is CallRecordingViewModel.RecordingStartingState)
+
+        viewModel.setRecordingState(CallRecordingViewModel.RECORDING_FAILED_CODE)
+        Assert.isTrue(viewModel.viewState.value is CallRecordingViewModel.RecordingErrorState)
+    }
 }