贴标申请,仓储转运
This commit is contained in:
@@ -74,6 +74,7 @@ class LastlegOrderServiceTest {
|
||||
@Mock ContainerArrivalTimeOperationMapper containerArrivalTimeOperations;
|
||||
@Mock WarehouseResourceGateway warehouseResourceGateway;
|
||||
@Mock ContainerShippingGateMapper containerShippingGates;
|
||||
@Mock ReturnOrderReferenceResolver returnOrderReferences;
|
||||
LastlegOrderService service;
|
||||
|
||||
@Test
|
||||
@@ -105,7 +106,10 @@ class LastlegOrderServiceTest {
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
com.baomidou.mybatisplus.core.metadata.TableInfoHelper.initTableInfo(
|
||||
new org.apache.ibatis.builder.MapperBuilderAssistant(new org.apache.ibatis.session.Configuration(), ""), LastlegOrder.class);
|
||||
service = new LastlegOrderService();
|
||||
ReflectionTestUtils.setField(service, "returnOrderReferences", returnOrderReferences);
|
||||
ReflectionTestUtils.setField(service, "orderMapper", orders);
|
||||
ReflectionTestUtils.setField(service, "detailMapper", details);
|
||||
ReflectionTestUtils.setField(service, "historyMapper", histories);
|
||||
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
package com.baiyue.lastleg.service;
|
||||
|
||||
import com.baiyue.lastleg.entity.LastlegOrder;
|
||||
import com.baiyue.lastleg.fleet.customer.FleetCustomerDirectory;
|
||||
import com.baiyue.lastleg.inboundplan.pda.gateway.WarehouseResourceGateway;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import java.util.List;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
class ReturnOrderReferenceResolverTest {
|
||||
@Test
|
||||
void directoryFailureBlocksNewSnapshotButDoesNotHideHistoricalOrders() {
|
||||
var customers = mock(FleetCustomerDirectory.class);
|
||||
var warehouses = mock(WarehouseResourceGateway.class);
|
||||
when(customers.find("1")).thenThrow(new org.springframework.web.server.ResponseStatusException(org.springframework.http.HttpStatus.SERVICE_UNAVAILABLE));
|
||||
when(warehouses.requireActiveSharedWarehouse(10L)).thenReturn(new WarehouseResourceGateway.WarehouseReference(10L, "USLAX01", "洛杉矶仓", "ACTIVE"));
|
||||
var resolver = new ReturnOrderReferenceResolver(customers, warehouses);
|
||||
org.junit.jupiter.api.Assertions.assertThrows(org.springframework.web.server.ResponseStatusException.class, () -> resolver.populate(List.of(order())));
|
||||
var historical = order();
|
||||
resolver.populateForRead(List.of(historical));
|
||||
assertEquals("洛杉矶仓", historical.getOverseasWarehouseName());
|
||||
}
|
||||
|
||||
@Test
|
||||
void resolvesMissingReturnReferencesOncePerCustomerAndWarehouseAndPreservesSnapshots() {
|
||||
var customers = mock(FleetCustomerDirectory.class);
|
||||
var warehouses = mock(WarehouseResourceGateway.class);
|
||||
when(customers.find("1")).thenReturn(new FleetCustomerDirectory.Customer("1", "C1", "测试货主", null, null));
|
||||
when(warehouses.requireActiveSharedWarehouse(10L)).thenReturn(new WarehouseResourceGateway.WarehouseReference(10L, "USLAX01", "洛杉矶仓", "ACTIVE"));
|
||||
LastlegOrder first = order(), second = order(), frozen = order();
|
||||
frozen.setCustomerName("原货主快照"); frozen.setOverseasWarehouseCode("OLD"); frozen.setOverseasWarehouseName("原仓库快照");
|
||||
|
||||
new ReturnOrderReferenceResolver(customers, warehouses).populate(List.of(first, second, frozen));
|
||||
|
||||
assertEquals("测试货主", first.getCustomerName());
|
||||
assertEquals("USLAX01", second.getOverseasWarehouseCode());
|
||||
assertEquals("洛杉矶仓", second.getOverseasWarehouseName());
|
||||
assertEquals("原货主快照", frozen.getCustomerName());
|
||||
assertEquals("原仓库快照", frozen.getOverseasWarehouseName());
|
||||
verify(customers, times(1)).find("1");
|
||||
verify(warehouses, times(1)).requireActiveSharedWarehouse(10L);
|
||||
}
|
||||
|
||||
private LastlegOrder order() {
|
||||
var order = new LastlegOrder(); order.setOrderType("RETURN_RELABEL");
|
||||
order.setCustomerId("1"); order.setOverseasWarehouseId("10"); return order;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user