贴标申请,仓储转运
This commit is contained in:
+49
-1
@@ -66,6 +66,26 @@ import static org.mockito.Mockito.times;
|
||||
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
class RelabelApplicationServiceTest {
|
||||
@Test void returnInventoryCandidateUsesRealProductNames() {
|
||||
var cartonMapper = org.mockito.Mockito.mock(com.baiyue.lastleg.returnreceipt.mapper.ReturnInventoryCartonMapper.class);
|
||||
var lineMapper = org.mockito.Mockito.mock(com.baiyue.lastleg.returnreceipt.mapper.ReturnInventoryCartonItemMapper.class);
|
||||
ReflectionTestUtils.setField(service, "returnCartons", cartonMapper);
|
||||
ReflectionTestUtils.setField(service, "returnCartonItems", lineMapper);
|
||||
ReflectionTestUtils.setField(service, "returnPackingTraces", org.mockito.Mockito.mock(com.baiyue.lastleg.returnreceipt.mapper.ReturnPackingTraceMapper.class));
|
||||
var carton = new com.baiyue.lastleg.returnreceipt.entity.ReturnInventoryCarton();
|
||||
carton.setId(20L); carton.setStatus("AVAILABLE"); carton.setSourceUnitType("BOX"); carton.setTotalQuantity(4L);
|
||||
var first = new com.baiyue.lastleg.returnreceipt.entity.ReturnInventoryCartonItem();
|
||||
first.setSkuCode("A"); first.setProductNameZh(" 中文商品甲 "); first.setQuantity(2L);
|
||||
var second = new com.baiyue.lastleg.returnreceipt.entity.ReturnInventoryCartonItem();
|
||||
second.setSkuCode("B"); second.setProductNameZh("中文商品乙"); second.setQuantity(2L);
|
||||
when(cartonMapper.findRelabelCandidates("C", "W")).thenReturn(List.of(carton));
|
||||
when(lineMapper.listCarton(20L)).thenReturn(List.of(first, second));
|
||||
var candidate = service.candidates("C", "W", null).get(0);
|
||||
assertEquals("中文商品甲、中文商品乙", candidate.productNameZh());
|
||||
assertEquals(4L, candidate.stockQuantity());
|
||||
assertEquals("AVAILABLE", candidate.inventoryStatus());
|
||||
assertEquals(List.of(), candidate.mergedIntoCartonMarks());
|
||||
}
|
||||
@Mock RelabelApplicationMapper applications;
|
||||
@Mock RelabelItemMapper items;
|
||||
@Mock RelabelStatusHistoryMapper histories;
|
||||
@@ -554,9 +574,11 @@ class RelabelApplicationServiceTest {
|
||||
RelabelApplication application = application(11L, "FBR-1", "10001", "key-1", "hash", RelabelApplicationService.READY_FOR_OUTBOUND);
|
||||
application.setLastlegOrderId(21L);
|
||||
application.setFulfillmentStatus("PRE_DISPATCH_CREATED");
|
||||
LastlegOrder order = order(21L, "10001", "LMO-RELABEL-1", "PROCESSING");
|
||||
LastlegOrder order = order(21L, "10001", "LMO-RELABEL-1", "INBOUND_COMPLETED");
|
||||
order.setOrderType("RETURN_RELABEL");
|
||||
order.setRelabelOrderNo("FBR-1");
|
||||
order.setPackageCount(7); order.setProductQuantity(110);
|
||||
order.setSubOrderStatus("RETURN_RELABEL:COMPLETED");
|
||||
when(applications.lockNo("10001", "FBR-1")).thenReturn(application);
|
||||
stubDetail(application);
|
||||
when(orders.selectById(21L)).thenReturn(order);
|
||||
@@ -568,6 +590,31 @@ class RelabelApplicationServiceTest {
|
||||
assertEquals("OUTBOUNDED", application.getFulfillmentStatus());
|
||||
assertEquals("INBOUND_COMPLETED", order.getCurrentStatus());
|
||||
assertEquals("COMPLETED", order.getRelabelStatus());
|
||||
assertEquals(7, order.getPackageCount());
|
||||
assertEquals(110, order.getProductQuantity());
|
||||
assertEquals("RETURN_RELABEL:COMPLETED", order.getSubOrderStatus());
|
||||
}
|
||||
|
||||
@Test void partialReturnRelabelCreationPreservesParentReceiptQuantitiesAndStatus() {
|
||||
LastlegOrder parent = order(21L, "10001", "RT-ORIGINAL", "INBOUND_COMPLETED");
|
||||
parent.setOrderType("RETURN_RELABEL"); parent.setSourceOrderNo("RT-ORIGINAL");
|
||||
parent.setPackageCount(7); parent.setReceivedPackageCount(7); parent.setProductQuantity(110);
|
||||
parent.setSubOrderStatus("RETURN_RELABEL:COMPLETED");
|
||||
when(orders.selectById(21L)).thenReturn(parent);
|
||||
ReflectionTestUtils.invokeMethod(service, "linkExistingTailOrder", "10001", 21L, "RL-PARTIAL", 1, LocalDateTime.now());
|
||||
assertEquals(7, parent.getPackageCount()); assertEquals(7, parent.getReceivedPackageCount());
|
||||
assertEquals(110, parent.getProductQuantity());
|
||||
assertEquals("RT-ORIGINAL", parent.getSourceOrderNo());
|
||||
assertEquals("INBOUND_COMPLETED", parent.getCurrentStatus());
|
||||
assertEquals("RETURN_RELABEL:COMPLETED", parent.getSubOrderStatus());
|
||||
assertEquals("RL-PARTIAL", parent.getRelabelOrderNo());
|
||||
when(orders.selectOne(any())).thenReturn(parent);
|
||||
var request = org.mockito.Mockito.mock(RelabelRequests.Create.class);
|
||||
when(request.customerOrderNo()).thenReturn("RT-ORIGINAL");
|
||||
ReflectionTestUtils.invokeMethod(service, "insertTailOrder", "10001", request, "hash", "RL-SECOND", "W", 1, LocalDateTime.now());
|
||||
assertEquals(7, parent.getPackageCount()); assertEquals(110, parent.getProductQuantity());
|
||||
assertEquals("RETURN_RELABEL:COMPLETED", parent.getSubOrderStatus());
|
||||
assertEquals("RL-SECOND", parent.getRelabelOrderNo());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -1013,6 +1060,7 @@ class RelabelApplicationServiceTest {
|
||||
var lineMapper = org.mockito.Mockito.mock(com.baiyue.lastleg.returnreceipt.mapper.ReturnInventoryCartonItemMapper.class);
|
||||
ReflectionTestUtils.setField(service, "returnCartons", cartonMapper);
|
||||
ReflectionTestUtils.setField(service, "returnCartonItems", lineMapper);
|
||||
ReflectionTestUtils.setField(service, "returnPackingTraces", org.mockito.Mockito.mock(com.baiyue.lastleg.returnreceipt.mapper.ReturnPackingTraceMapper.class));
|
||||
var carton = new com.baiyue.lastleg.returnreceipt.entity.ReturnInventoryCarton();
|
||||
carton.setId(901L); carton.setCustomerId("10001"); carton.setOverseasWarehouseId("WH-1");
|
||||
carton.setCartonMark("RETURN-BOX-1"); carton.setStatus("AVAILABLE"); carton.setSourceUnitType("BOX");
|
||||
|
||||
+1
@@ -28,6 +28,7 @@ class RelabelReturnCartonCandidateTest {
|
||||
ReflectionTestUtils.setField(service, "inventoryPositions", positions);
|
||||
ReflectionTestUtils.setField(service, "returnCartons", cartons);
|
||||
ReflectionTestUtils.setField(service, "returnCartonItems", cartonItems);
|
||||
ReflectionTestUtils.setField(service, "returnPackingTraces", mock(com.baiyue.lastleg.returnreceipt.mapper.ReturnPackingTraceMapper.class));
|
||||
|
||||
ReturnInventoryCarton carton = new ReturnInventoryCarton();
|
||||
carton.setId(9001L); carton.setCustomerId("10001"); carton.setOverseasWarehouseId("WH-1");
|
||||
|
||||
Reference in New Issue
Block a user