Obsłuż wielodniowe kursy kierowcy
This commit is contained in:
@@ -154,6 +154,7 @@ class DriverRouteProjectionTest {
|
||||
): DriverRouteDto =
|
||||
DriverRouteDto(
|
||||
id = "1",
|
||||
routeDate = "2026-06-30",
|
||||
startsAt = "",
|
||||
originName = "Baza",
|
||||
destinationName = "Instalacja",
|
||||
|
||||
@@ -39,6 +39,32 @@ class DriverUiRulesTest {
|
||||
assertFalse(canCompleteRouteFromDriverApp(route(status = "ZAPLANOWANA"), "2026-06-29", today))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun multiDayRouteCanLoadTodayButCanUnloadOnlyOnItsUnloadingDate() {
|
||||
val route = route(
|
||||
status = "ZAPLANOWANA",
|
||||
routeDate = "2026-06-29",
|
||||
unloadingDate = "2026-06-30",
|
||||
)
|
||||
|
||||
assertTrue(canStartRouteFromDriverApp(route, "2026-06-30", today))
|
||||
assertEquals("Załaduj", routeLifecyclePrimaryAction(route, "2026-06-30", today)?.label)
|
||||
assertEquals("Dziś: rozładunek. Załadunek możesz potwierdzić dzisiaj.", routeTodayInstruction(route, "2026-06-30", today))
|
||||
|
||||
val activeRoute = route.copy(status = "W TRAKCIE")
|
||||
assertTrue(canFinishRouteFromDriverApp(activeRoute, "2026-06-30", today))
|
||||
assertEquals("Rozładuj", routeLifecyclePrimaryAction(activeRoute, "2026-06-30", today)?.label)
|
||||
assertFalse(canFinishRouteFromDriverApp(activeRoute, "2026-06-29", LocalDate.parse("2026-06-29")))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun routeScheduleShowsBothDispatcherDates() {
|
||||
val route = route(routeDate = "2026-06-30", unloadingDate = "2026-07-02")
|
||||
|
||||
assertEquals("Załadunek: 30.06 · Rozładunek: 02.07", routeScheduleSummary(route))
|
||||
assertEquals("Załadunek: 30.06 · Rozładunek: ten sam dzień", routeScheduleSummary(route.copy(unloadingDate = null)))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun showsLiveRouteDayUpdateOnlyForViewedDate() {
|
||||
assertTrue(shouldShowRouteDayLiveUpdate(viewedDate = "2026-03-12", hintDate = "2026-03-12"))
|
||||
@@ -300,7 +326,7 @@ class DriverUiRulesTest {
|
||||
assertEquals(RouteFlowStepState.Todo, steps[1].state)
|
||||
assertEquals(RouteFlowStepState.Todo, steps[2].state)
|
||||
assertEquals(RouteFlowStepState.Todo, steps[3].state)
|
||||
assertEquals("Rozpocznij kurs", action?.label)
|
||||
assertEquals("Załaduj", action?.label)
|
||||
assertEquals(RouteLifecycleAction.Start, action?.action)
|
||||
}
|
||||
|
||||
@@ -327,7 +353,7 @@ class DriverUiRulesTest {
|
||||
assertEquals(RouteFlowStepState.Confirmed, steps[1].state)
|
||||
assertEquals(RouteFlowStepState.LocalComplete, steps[2].state)
|
||||
assertEquals(RouteFlowStepState.Todo, steps[3].state)
|
||||
assertEquals("Zakończ kurs", action?.label)
|
||||
assertEquals("Rozładuj", action?.label)
|
||||
assertEquals(RouteLifecycleAction.Finish, action?.action)
|
||||
}
|
||||
|
||||
@@ -400,13 +426,17 @@ class DriverUiRulesTest {
|
||||
}
|
||||
|
||||
private fun route(
|
||||
status: String,
|
||||
status: String = "ZAPLANOWANA",
|
||||
loadingWeight: Double? = null,
|
||||
unloadingWeight: Double? = null,
|
||||
photos: List<RoutePhotoDto> = emptyList(),
|
||||
routeDate: String? = "2026-06-30",
|
||||
unloadingDate: String? = null,
|
||||
): DriverRouteDto =
|
||||
DriverRouteDto(
|
||||
id = "1",
|
||||
routeDate = routeDate,
|
||||
unloadingDate = unloadingDate,
|
||||
startsAt = "",
|
||||
originName = "Baza",
|
||||
destinationName = "Instalacja",
|
||||
|
||||
@@ -70,6 +70,19 @@ class DriverUiStateTest {
|
||||
assertEquals(12.5, state.displaySelectedRoute?.loadingWeight)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun displayRoutesMovesCompletedRoutesBelowActiveDispatcherOrder() {
|
||||
val state = DriverUiState(
|
||||
routes = listOf(
|
||||
route(id = "completed", status = "ZAKOŃCZONA"),
|
||||
route(id = "planned", status = "ZAPLANOWANA"),
|
||||
route(id = "active", status = "W TRAKCIE"),
|
||||
),
|
||||
)
|
||||
|
||||
assertEquals(listOf("planned", "active", "completed"), state.displayRoutes.map { it.id })
|
||||
}
|
||||
|
||||
private fun leaveRequest(id: String, status: String): DriverLeaveRequestDto =
|
||||
DriverLeaveRequestDto(
|
||||
id = id,
|
||||
@@ -79,9 +92,10 @@ class DriverUiStateTest {
|
||||
status = status,
|
||||
)
|
||||
|
||||
private fun route(status: String): DriverRouteDto =
|
||||
private fun route(id: String = "1", status: String): DriverRouteDto =
|
||||
DriverRouteDto(
|
||||
id = "1",
|
||||
id = id,
|
||||
routeDate = "2026-06-30",
|
||||
startsAt = "",
|
||||
originName = "Baza",
|
||||
destinationName = "Instalacja",
|
||||
|
||||
Reference in New Issue
Block a user