@@ -2,15 +2,18 @@ package com.android.sample.app
22
33import android.content.Context
44import androidx.arch.core.executor.testing.InstantTaskExecutorRule
5+ import androidx.lifecycle.SavedStateHandle
56import com.android.sample.app.database.section.SectionDao
67import com.android.sample.app.domain.Link
78import com.android.sample.app.domain.Section
89import com.android.sample.app.network.ApiService
910import com.android.sample.app.repository.SectionRepository
11+ import com.android.sample.app.ui.Screens
1012import com.android.sample.app.util.ViewState
1113import com.android.sample.app.util.isNetworkAvailable
1214import com.android.sample.app.viewmodel.SectionViewModel
1315import io.mockk.every
16+ import io.mockk.mockk
1417import io.mockk.mockkStatic
1518import kotlinx.coroutines.Dispatchers
1619import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -63,7 +66,11 @@ class SectionViewModelTest {
6366 }
6467 val repository = SectionRepository (dao, api, context, Dispatchers .Main )
6568 testCoroutineRule.pauseDispatcher()
66- val viewModel = SectionViewModel (repository, Link (" id" , " title" , " href" ))
69+ val savedStateHandle = mockk<SavedStateHandle >(relaxed = true )
70+ every {
71+ savedStateHandle.get<Link >(Screens .LINK )
72+ } returns Link (" id" , " title" , " href" )
73+ val viewModel = SectionViewModel (repository, savedStateHandle)
6774 assertThat(viewModel.stateFlow.value, `is `(ViewState .Loading ))
6875
6976 testCoroutineRule.resumeDispatcher()
@@ -83,7 +90,11 @@ class SectionViewModelTest {
8390 }
8491 val repository = SectionRepository (dao, api, context, Dispatchers .Main )
8592 testCoroutineRule.pauseDispatcher()
86- val viewModel = SectionViewModel (repository, Link (" id" , " string" , " href" ))
93+ val savedStateHandle = mockk<SavedStateHandle >(relaxed = true )
94+ every {
95+ savedStateHandle.get<Link >(Screens .LINK )
96+ } returns Link (" id" , " title" , " href" )
97+ val viewModel = SectionViewModel (repository, savedStateHandle)
8798 assertThat(viewModel.stateFlow.value, `is `(ViewState .Loading ))
8899
89100 testCoroutineRule.resumeDispatcher()
@@ -106,7 +117,11 @@ class SectionViewModelTest {
106117 }
107118 val repository = SectionRepository (dao, api, context, Dispatchers .Main )
108119 testCoroutineRule.pauseDispatcher()
109- val viewModel = SectionViewModel (repository, Link (" id" , " title" , " href" ))
120+ val savedStateHandle = mockk<SavedStateHandle >(relaxed = true )
121+ every {
122+ savedStateHandle.get<Link >(Screens .LINK )
123+ } returns Link (" id" , " title" , " href" )
124+ val viewModel = SectionViewModel (repository, savedStateHandle)
110125 assertThat(viewModel.stateFlow.value, `is `(ViewState .Loading ))
111126
112127 testCoroutineRule.resumeDispatcher()
0 commit comments