Update NiaAppStateTest.kt

pull/1461/head
TM 1 year ago
parent 6a31a4d9bc
commit 3ffbe20b1d

@ -208,6 +208,97 @@ class NiaAppStateTest {
)
}
@Test
fun niaAppState_whenErrorIsAdded_ErrorMessageIsPresent() = runTest(UnconfinedTestDispatcher()) {
composeTestRule.setContent {
state = NiaAppState(
navController = NavHostController(LocalContext.current),
coroutineScope = backgroundScope,
windowSizeClass = WindowSizeClass.calculateFromSize(DpSize(900.dp, 1200.dp)),
networkMonitor = networkMonitor,
userNewsResourceRepository = userNewsResourceRepository,
timeZoneMonitor = timeZoneMonitor,
)
}
backgroundScope.launch { state.errorMessage.collect() }
state.addErrorMessage("Test Error Message")
assertEquals(
"Test Error Message",
state.errorMessage.value,
)
}
@Test
fun niaAppState_whenErrorsAreAdded_FirstErrorMessageIsPresent() = runTest(UnconfinedTestDispatcher()) {
composeTestRule.setContent {
state = NiaAppState(
navController = NavHostController(LocalContext.current),
coroutineScope = backgroundScope,
windowSizeClass = WindowSizeClass.calculateFromSize(DpSize(900.dp, 1200.dp)),
networkMonitor = networkMonitor,
userNewsResourceRepository = userNewsResourceRepository,
timeZoneMonitor = timeZoneMonitor,
)
}
backgroundScope.launch { state.errorMessage.collect() }
state.addErrorMessage("Test Error Message 1")
state.addErrorMessage("Test Error Message 2")
assertEquals(
"Test Error Message 1",
state.errorMessage.value,
)
}
@Test
fun niaAppState_whenErrorIsCleared_ErrorMessageIsNotPresent() = runTest(UnconfinedTestDispatcher()) {
composeTestRule.setContent {
state = NiaAppState(
navController = NavHostController(LocalContext.current),
coroutineScope = backgroundScope,
windowSizeClass = WindowSizeClass.calculateFromSize(DpSize(900.dp, 1200.dp)),
networkMonitor = networkMonitor,
userNewsResourceRepository = userNewsResourceRepository,
timeZoneMonitor = timeZoneMonitor,
)
}
backgroundScope.launch { state.errorMessage.collect() }
state.addErrorMessage("Test Error Message")
state.clearErrorMessage()
assertEquals(
null,
state.errorMessage.value,
)
}
@Test
fun niaAppState_whenErrorsAreCleared_NextErrorMessageIsPresent() = runTest(UnconfinedTestDispatcher()) {
composeTestRule.setContent {
state = NiaAppState(
navController = NavHostController(LocalContext.current),
coroutineScope = backgroundScope,
windowSizeClass = WindowSizeClass.calculateFromSize(DpSize(900.dp, 1200.dp)),
networkMonitor = networkMonitor,
userNewsResourceRepository = userNewsResourceRepository,
timeZoneMonitor = timeZoneMonitor,
)
}
backgroundScope.launch { state.errorMessage.collect() }
state.addErrorMessage("Test Error Message 1")
state.addErrorMessage("Test Error Message 2")
state.clearErrorMessage()
assertEquals(
"Test Error Message 2",
state.errorMessage.value,
)
}
private fun getCompactWindowClass() = WindowSizeClass.calculateFromSize(DpSize(500.dp, 300.dp))
}

Loading…
Cancel
Save