feat: complete tail order controls and terminal drayage
This commit is contained in:
+21
@@ -9,6 +9,8 @@ import com.baiyue.lastleg.dto.LastlegOrderRequests;
|
||||
import com.baiyue.lastleg.dto.LastlegOrderSummary;
|
||||
import com.baiyue.lastleg.security.InternalServiceTokenGuard;
|
||||
import com.baiyue.lastleg.service.LastlegOrderService;
|
||||
import com.baiyue.lastleg.service.LastlegOrderCommandService;
|
||||
import com.baiyue.lastleg.dto.LastlegOrderCommandDtos;
|
||||
import com.baiyue.lastleg.service.LoadingCompletedConsumer;
|
||||
import com.baiyue.lastleg.shipping.service.ContainerShippingNodeConsumer;
|
||||
import org.junit.jupiter.api.Test;
|
||||
@@ -32,6 +34,7 @@ import static org.mockito.Mockito.when;
|
||||
class LastlegOrderControllerTest {
|
||||
// Controller contract tests intentionally instantiate the controller without a Spring context here.
|
||||
private final LastlegOrderService service = mock(LastlegOrderService.class);
|
||||
private final LastlegOrderCommandService commandService = mock(LastlegOrderCommandService.class);
|
||||
private final LastlegOrderController controller = controller();
|
||||
private final LastlegOrderRequests.Query query = new LastlegOrderRequests.Query(
|
||||
1L, 20L, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
|
||||
@@ -59,6 +62,23 @@ class LastlegOrderControllerTest {
|
||||
verify(service).page(eq("200"), eq(query));
|
||||
}
|
||||
|
||||
@Test
|
||||
void holdCommandPassesVersionedIdempotentRequestToSingleOrderService() {
|
||||
var request = new LastlegOrderCommandDtos.HoldRequest(true, true, "海关查验", 2);
|
||||
|
||||
controller.hold(user(0L, "PLATFORM"), "100", 11L, "hold-11", request);
|
||||
|
||||
verify(commandService).hold("100", 11L, "hold-11", request, "1", "tester");
|
||||
}
|
||||
|
||||
@Test
|
||||
void manualNodeQueryUsesOrderScopeRatherThanContainerScope() {
|
||||
controller.manualNodes(user(0L, "PLATFORM"), "100", 11L);
|
||||
|
||||
verify(commandService).manualNodes("100", 11L);
|
||||
verify(service, never()).containerProgressDetail(org.mockito.ArgumentMatchers.anyString());
|
||||
}
|
||||
|
||||
@Test
|
||||
void platformOperatorCanQueryCrossCustomerContainerSummaries() {
|
||||
var summaryQuery = new LastlegOrderRequests.ContainerProgressQuery(1, 20, "CONT-", null, null);
|
||||
@@ -130,6 +150,7 @@ class LastlegOrderControllerTest {
|
||||
ReflectionTestUtils.setField(controller, "consumer", mock(LoadingCompletedConsumer.class));
|
||||
ReflectionTestUtils.setField(controller, "shippingNodeConsumer", mock(ContainerShippingNodeConsumer.class));
|
||||
ReflectionTestUtils.setField(controller, "orderService", service);
|
||||
ReflectionTestUtils.setField(controller, "commandService", commandService);
|
||||
ReflectionTestUtils.setField(controller, "tokenGuard", mock(InternalServiceTokenGuard.class));
|
||||
return controller;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user