优化
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.baiyue.lastleg.service;
|
||||
|
||||
import com.baiyue.lastleg.dto.LastlegOrderRequests;
|
||||
import com.baiyue.lastleg.dto.PendingContainerSummary;
|
||||
import com.baiyue.lastleg.entity.LastlegOrder;
|
||||
import com.baiyue.lastleg.entity.LastlegOrderDetail;
|
||||
import com.baiyue.lastleg.entity.LastlegOrderStatusHistory;
|
||||
@@ -19,6 +20,8 @@ import org.springframework.web.server.ResponseStatusException;
|
||||
import org.springframework.test.util.ReflectionTestUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
@@ -133,6 +136,33 @@ class LastlegOrderServiceTest {
|
||||
assertEquals(25, page.getValue().getSize());
|
||||
}
|
||||
|
||||
@Test
|
||||
void pendingContainerPageUsesServerSideAggregatePagination() {
|
||||
var query = new LastlegOrderRequests.PendingContainerQuery(2, 10, "CONT-", null, null);
|
||||
var row = new PendingContainerSummary("BOOKING-1", "CONT-1", 15, 15, 3,
|
||||
150, 0, new BigDecimal("12.5000"), true, null);
|
||||
when(orders.countPendingContainers(query)).thenReturn(11L);
|
||||
when(orders.pagePendingContainers(query, 10, 10)).thenReturn(List.of(row));
|
||||
|
||||
var result = service.pendingContainerPage(query);
|
||||
|
||||
assertEquals(2, result.page());
|
||||
assertEquals(10, result.size());
|
||||
assertEquals(11, result.total());
|
||||
assertEquals(2, result.pages());
|
||||
assertEquals(List.of(row), result.records());
|
||||
}
|
||||
|
||||
@Test
|
||||
void pendingContainerPageRejectsReversedDateRangeBeforeQuerying() {
|
||||
var query = new LastlegOrderRequests.PendingContainerQuery(1, 20, null,
|
||||
LocalDateTime.of(2026, 8, 20, 0, 0), LocalDateTime.of(2026, 8, 19, 0, 0));
|
||||
|
||||
assertThrows(ResponseStatusException.class, () -> service.pendingContainerPage(query));
|
||||
|
||||
verify(orders, never()).countPendingContainers(any());
|
||||
}
|
||||
|
||||
private static LastlegOrder order(long id, String customerId, String status, String inboundOrderNo) {
|
||||
LastlegOrder order = new LastlegOrder();
|
||||
order.setId(id);
|
||||
|
||||
Reference in New Issue
Block a user