|
|
|
@ -29,6 +29,7 @@ import com.google.samples.apps.nowinandroid.core.testing.util.MainDispatcherRule
|
|
|
|
|
import com.google.samples.apps.nowinandroid.feature.search.RecentSearchQueriesUiState.Success
|
|
|
|
|
import com.google.samples.apps.nowinandroid.feature.search.SearchResultUiState.EmptyQuery
|
|
|
|
|
import com.google.samples.apps.nowinandroid.feature.search.SearchResultUiState.Loading
|
|
|
|
|
import com.google.samples.apps.nowinandroid.feature.search.SearchResultUiState.SearchNotReady
|
|
|
|
|
import kotlinx.coroutines.flow.collect
|
|
|
|
|
import kotlinx.coroutines.launch
|
|
|
|
|
import kotlinx.coroutines.test.UnconfinedTestDispatcher
|
|
|
|
@ -77,9 +78,12 @@ class SearchViewModelTest {
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
fun stateIsEmptyQuery_withEmptySearchQuery() = runTest {
|
|
|
|
|
searchContentsRepository.addNewsResources(newsResourcesTestData)
|
|
|
|
|
searchContentsRepository.addTopics(topicsTestData)
|
|
|
|
|
val collectJob = launch(UnconfinedTestDispatcher()) { viewModel.searchResultUiState.collect() }
|
|
|
|
|
|
|
|
|
|
viewModel.onSearchQueryChanged("")
|
|
|
|
|
|
|
|
|
|
assertEquals(EmptyQuery, viewModel.searchResultUiState.value)
|
|
|
|
|
|
|
|
|
|
collectJob.cancel()
|
|
|
|
@ -110,4 +114,15 @@ class SearchViewModelTest {
|
|
|
|
|
|
|
|
|
|
collectJob.cancel()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
fun searchNotReady_withNoFtsTableEntity() = runTest {
|
|
|
|
|
val collectJob = launch(UnconfinedTestDispatcher()) { viewModel.searchResultUiState.collect() }
|
|
|
|
|
|
|
|
|
|
viewModel.onSearchQueryChanged("")
|
|
|
|
|
|
|
|
|
|
assertEquals(SearchNotReady, viewModel.searchResultUiState.value)
|
|
|
|
|
|
|
|
|
|
collectJob.cancel()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|