@@ -8,6 +8,9 @@ import com.intive.tmdbandroid.common.State
88import com.intive.tmdbandroid.model.Genre
99import com.intive.tmdbandroid.model.TVShow
1010import com.intive.tmdbandroid.usecase.DetailTVShowUseCase
11+ import com.intive.tmdbandroid.usecase.GetIfExistsUseCase
12+ import com.intive.tmdbandroid.usecase.RemoveTVShowFromWatchlistUseCase
13+ import com.intive.tmdbandroid.usecase.SaveTVShowInWatchlistUseCase
1114import kotlinx.coroutines.ExperimentalCoroutinesApi
1215import kotlinx.coroutines.flow.flow
1316import kotlinx.coroutines.test.runBlockingTest
@@ -18,18 +21,18 @@ import org.mockito.Mockito.*
1821import kotlin.time.ExperimentalTime
1922
2023@ExperimentalCoroutinesApi
21- class DetailsViewModelTest {
24+ class DetailsViewModelTest {
2225
2326 @get:Rule
2427 var mainCoroutineRule = MainCoroutineRule ()
2528
2629 @get:Rule
2730 var instantTaskExecutorRule = InstantTaskExecutorRule ()
2831
29- private val tvShow = TVShow (
32+ private val tvShow = TVShow (
3033 backdrop_path = " BACKDROP_PATH" ,
3134 first_air_date = " 1983-10-20" ,
32- genres = listOf (Genre (1 , " genre1" ), Genre (2 ," genre2" )),
35+ genres = listOf (Genre (1 , " genre1" ), Genre (2 , " genre2" )),
3336 id = 1 ,
3437 name = " Simona la Cacarisa" ,
3538 original_name = " El cochiloco" ,
@@ -45,19 +48,30 @@ class DetailsViewModelTest{
4548 )
4649
4750 private lateinit var detailViewModel: DetailsViewModel
48- private lateinit var detailUseCase: DetailTVShowUseCase
51+ private lateinit var tVShowUseCase: DetailTVShowUseCase
52+ private lateinit var saveTVShowInWatchlistUseCase: SaveTVShowInWatchlistUseCase
53+ private lateinit var removeTVShowFromWatchlistUseCase: RemoveTVShowFromWatchlistUseCase
54+ private lateinit var getIfExistsUseCase: GetIfExistsUseCase
4955
5056
5157 @Before
5258 fun setup () {
53- detailUseCase = mock(DetailTVShowUseCase ::class .java)
54- detailViewModel = DetailsViewModel (detailUseCase)
59+ tVShowUseCase = mock(DetailTVShowUseCase ::class .java)
60+ saveTVShowInWatchlistUseCase = mock(SaveTVShowInWatchlistUseCase ::class .java)
61+ removeTVShowFromWatchlistUseCase = mock(RemoveTVShowFromWatchlistUseCase ::class .java)
62+ getIfExistsUseCase = mock(GetIfExistsUseCase ::class .java)
63+ detailViewModel = DetailsViewModel (
64+ tVShowUseCase,
65+ saveTVShowInWatchlistUseCase,
66+ removeTVShowFromWatchlistUseCase,
67+ getIfExistsUseCase
68+ )
5569 }
5670
5771 @Test
5872 @ExperimentalTime
5973 fun tVShowsTest () = mainCoroutineRule.runBlockingTest {
60- `when `(detailUseCase .invoke(anyInt())).thenReturn(
74+ `when `(tVShowUseCase .invoke(anyInt())).thenReturn(
6175 flow {
6276 emit(
6377 tvShow
0 commit comments