-
Notifications
You must be signed in to change notification settings - Fork 138
Open
Labels
type: code healthImprovements to readability or robustness of codebaseImprovements to readability or robustness of codebase
Description
Lines 90 to 91 in b05b832
| // TODO: Complete below test | |
| // Issue URL: https://github.com/google/ground-android/issues/3032 |
matches(hasDescendant(withText(fragment.getString(R.string.offline_area_selector_title))))
)
}
// TODO: Complete below test
// Issue URL: https://github.com/google/ground-android/issues/3032
@Test
fun `stopDownloading cancels active download and updates UI state`() = runWithTestDispatcher {
composeTestRule.setContent { DownloadProgressDialog(viewModel.downloadProgress.value!!, {}) }
val progressFlow = MutableSharedFlow<Pair<Int, Int>>()
whenever(offlineAreaRepository.downloadTiles(any())).thenReturn(progressFlow)
val downloadProgressValues = mutableListOf<Float>()
val observer = Observer<Float> { downloadProgressValues.add(it) }
viewModel.downloadProgress.observeForever(observer)
viewModel.onDownloadClick()
advanceUntilIdle()
progressFlow.emit(Pair(50, 100))
advanceUntilIdle()
composeTestRule
.onNodeWithText(composeTestRule.activity.getString(R.string.cancel))
.isDisplayed()
composeTestRule
.onNodeWithText(composeTestRule.activity.getString(R.string.cancel))
.performClick()
progressFlow.emit(Pair(75, 100))
composeTestRule
.onNodeWithText(composeTestRule.activity.getString(R.string.cancel))
.isNotDisplayed()
assertFalse(viewModel.isDownloadProgressVisible.value!!)
assertNull(viewModel.downloadJob)
viewModel.downloadProgress.removeObserver(observer)
}
}
Metadata
Metadata
Assignees
Labels
type: code healthImprovements to readability or robustness of codebaseImprovements to readability or robustness of codebase
Type
Projects
Status
No status