Fix leave request detail refresh navigation
This commit is contained in:
@@ -3,6 +3,7 @@ package pl.firmatpp.kierowca.ui
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Assert.assertTrue
|
||||
import org.junit.Test
|
||||
import pl.firmatpp.kierowca.data.model.DriverLeaveRequestDto
|
||||
import pl.firmatpp.kierowca.ui.theme.AppThemeMode
|
||||
|
||||
class DriverUiStateTest {
|
||||
@@ -20,4 +21,42 @@ class DriverUiStateTest {
|
||||
|
||||
assertEquals(AppThemeMode.Material3, state.themeMode)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun refreshingLeaveRequestsKeepsDetailScreenOpenAndUpdatesSelectedRequest() {
|
||||
val state = DriverUiState(
|
||||
screen = DriverScreen.LeaveRequestDetail,
|
||||
selectedLeaveRequest = leaveRequest(id = "leave-1", status = "pending"),
|
||||
)
|
||||
|
||||
val refreshed = state.withLoadedLeaveRequests(
|
||||
requests = listOf(leaveRequest(id = "leave-1", status = "approved")),
|
||||
navigateToList = false,
|
||||
)
|
||||
|
||||
assertEquals(DriverScreen.LeaveRequestDetail, refreshed.screen)
|
||||
assertEquals("approved", refreshed.selectedLeaveRequest?.status)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun openingLeaveRequestsNavigatesToList() {
|
||||
val state = DriverUiState(screen = DriverScreen.Routes)
|
||||
|
||||
val refreshed = state.withLoadedLeaveRequests(
|
||||
requests = listOf(leaveRequest(id = "leave-1", status = "pending")),
|
||||
navigateToList = true,
|
||||
)
|
||||
|
||||
assertEquals(DriverScreen.LeaveRequests, refreshed.screen)
|
||||
assertEquals(1, refreshed.leaveRequests.size)
|
||||
}
|
||||
|
||||
private fun leaveRequest(id: String, status: String): DriverLeaveRequestDto =
|
||||
DriverLeaveRequestDto(
|
||||
id = id,
|
||||
dateFrom = "2026-07-10",
|
||||
dateTo = "2026-07-12",
|
||||
type = "URLOP",
|
||||
status = status,
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user