From 5f8e52b31235b2a5de78504c830aae686c499352 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Brey?= Date: Mon, 30 Jan 2023 12:56:02 +0100 Subject: [PATCH] Add abstract viewmodel test for main thread execution MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Álvaro Brey --- .../talk/viewmodels/AbstractViewModelTest.kt | 22 +++++++++++++++++++ .../viewmodels/CallRecordingViewModelTest.kt | 20 +---------------- 2 files changed, 23 insertions(+), 19 deletions(-) create mode 100644 app/src/test/java/com/nextcloud/talk/viewmodels/AbstractViewModelTest.kt diff --git a/app/src/test/java/com/nextcloud/talk/viewmodels/AbstractViewModelTest.kt b/app/src/test/java/com/nextcloud/talk/viewmodels/AbstractViewModelTest.kt new file mode 100644 index 000000000..a02b7ddaa --- /dev/null +++ b/app/src/test/java/com/nextcloud/talk/viewmodels/AbstractViewModelTest.kt @@ -0,0 +1,22 @@ +package com.nextcloud.talk.viewmodels + +import androidx.arch.core.executor.testing.InstantTaskExecutorRule +import io.reactivex.android.plugins.RxAndroidPlugins +import io.reactivex.schedulers.Schedulers +import org.junit.BeforeClass +import org.junit.Rule + +open class AbstractViewModelTest { + @get:Rule + val instantExecutorRule = InstantTaskExecutorRule() + + companion object { + @JvmStatic + @BeforeClass + fun setUpClass() { + RxAndroidPlugins.setInitMainThreadSchedulerHandler { + Schedulers.trampoline() + } + } + } +} diff --git a/app/src/test/java/com/nextcloud/talk/viewmodels/CallRecordingViewModelTest.kt b/app/src/test/java/com/nextcloud/talk/viewmodels/CallRecordingViewModelTest.kt index 8ca579052..1132958d2 100644 --- a/app/src/test/java/com/nextcloud/talk/viewmodels/CallRecordingViewModelTest.kt +++ b/app/src/test/java/com/nextcloud/talk/viewmodels/CallRecordingViewModelTest.kt @@ -1,20 +1,12 @@ package com.nextcloud.talk.viewmodels -import androidx.arch.core.executor.testing.InstantTaskExecutorRule import com.nextcloud.talk.test.fakes.FakeCallRecordingRepository import com.vividsolutions.jts.util.Assert -import io.reactivex.android.plugins.RxAndroidPlugins -import io.reactivex.schedulers.Schedulers import org.junit.Before -import org.junit.BeforeClass -import org.junit.Rule import org.junit.Test import org.mockito.MockitoAnnotations -class CallRecordingViewModelTest { - - @get:Rule - val instantExecutorRule = InstantTaskExecutorRule() +class CallRecordingViewModelTest : AbstractViewModelTest() { val repository = FakeCallRecordingRepository() @@ -35,14 +27,4 @@ class CallRecordingViewModelTest { Assert.equals(CallRecordingViewModel.RecordingStartLoadingState, viewModel.viewState.value) } - - companion object { - @JvmStatic - @BeforeClass - fun setUpClass() { - RxAndroidPlugins.setInitMainThreadSchedulerHandler { - Schedulers.trampoline() - } - } - } }