贴标申请,仓储转运
This commit is contained in:
+27
-2
@@ -109,11 +109,35 @@ class RelabelApplicationServiceTest {
|
||||
assertEquals(4L, candidate.stockQuantity());
|
||||
assertEquals("AVAILABLE", candidate.inventoryStatus());
|
||||
assertEquals(List.of(), candidate.mergedIntoCartonMarks());
|
||||
assertEquals(1, candidate.cartonAvailablePackages());
|
||||
carton.setStatus("RELABEL_PENDING");
|
||||
var occupied = service.candidates("C", "W", null).get(0);
|
||||
assertEquals(0, occupied.availablePackages());
|
||||
assertEquals(0, occupied.cartonAvailablePackages());
|
||||
assertEquals(2, occupied.skuItems().size(), "处理中库存保留占用信息,但不可再次选择");
|
||||
}
|
||||
@Test void convertedSkuRemainsAvailableForCartonLabelOnly() {
|
||||
var cartons = org.mockito.Mockito.mock(com.baiyue.lastleg.returnreceipt.mapper.ReturnInventoryCartonMapper.class);
|
||||
var lines = org.mockito.Mockito.mock(com.baiyue.lastleg.returnreceipt.mapper.ReturnInventoryCartonItemMapper.class);
|
||||
ReflectionTestUtils.setField(service, "returnCartons", cartons);
|
||||
ReflectionTestUtils.setField(service, "returnCartonItems", lines);
|
||||
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.setCartonMark("NEW-BOX"); carton.setTotalQuantity(15L);
|
||||
var first = new com.baiyue.lastleg.returnreceipt.entity.ReturnInventoryCartonItem();
|
||||
first.setSkuCode("NEW-A"); first.setQuantity(10L); first.setRelabelledQuantity(10L);
|
||||
var second = new com.baiyue.lastleg.returnreceipt.entity.ReturnInventoryCartonItem();
|
||||
second.setSkuCode("NEW-B"); second.setQuantity(5L); second.setRelabelledQuantity(5L);
|
||||
when(cartons.findRelabelCandidates("C", "W")).thenReturn(List.of(carton));
|
||||
when(lines.listCarton(20L)).thenReturn(List.of(first, second));
|
||||
var candidate = service.candidates("C", "W", null).get(0);
|
||||
assertEquals(0, candidate.availablePackages());
|
||||
assertTrue(candidate.skuItems().isEmpty());
|
||||
assertEquals("NEW-BOX", candidate.cartonMark());
|
||||
assertEquals(1, candidate.cartonAvailablePackages());
|
||||
assertEquals(List.of(new RelabelResponses.SkuItem("NEW-A", null, 10, null),
|
||||
new RelabelResponses.SkuItem("NEW-B", null, 5, null)), candidate.cartonSkuItems());
|
||||
}
|
||||
@org.junit.jupiter.params.ParameterizedTest
|
||||
@org.junit.jupiter.params.provider.ValueSource(longs = {0, 2, 5, 8})
|
||||
void returnCandidatesOnlyOfferUnlabelledPieces(long completed) {
|
||||
@@ -1066,7 +1090,7 @@ class RelabelApplicationServiceTest {
|
||||
}
|
||||
|
||||
@org.junit.jupiter.params.ParameterizedTest
|
||||
@org.junit.jupiter.params.provider.CsvSource({"CARTON_LABEL,0", "SKU_LABEL,0", "SKU_LABEL,2", "CARTON_AND_SKU,0"})
|
||||
@org.junit.jupiter.params.provider.CsvSource({"CARTON_LABEL,0", "CARTON_LABEL,5", "SKU_LABEL,0", "SKU_LABEL,2", "CARTON_AND_SKU,0"})
|
||||
void intactParcelSupportsAllLabelOperationsWithoutMergingIntoBox(String type, long completed) {
|
||||
var cartons = org.mockito.Mockito.mock(com.baiyue.lastleg.returnreceipt.mapper.ReturnInventoryCartonMapper.class);
|
||||
var lines = org.mockito.Mockito.mock(com.baiyue.lastleg.returnreceipt.mapper.ReturnInventoryCartonItemMapper.class);
|
||||
@@ -1077,7 +1101,8 @@ class RelabelApplicationServiceTest {
|
||||
parcel.setCountStatus("CONFIRMED"); parcel.setTotalQuantity(5L);
|
||||
var line = new com.baiyue.lastleg.returnreceipt.entity.ReturnInventoryCartonItem(); line.setSkuCode("SKU-A"); line.setQuantity(5L);
|
||||
when(cartons.lockId(901L)).thenReturn(parcel); when(lines.lockCarton(901L)).thenReturn(List.of(line));
|
||||
when(cartons.completedSkuQuantity(901L, "SKU-A")).thenReturn(completed);
|
||||
if ("CARTON_LABEL".equals(type)) line.setRelabelledQuantity(completed);
|
||||
else when(cartons.completedSkuQuantity(901L, "SKU-A")).thenReturn(completed);
|
||||
when(cartons.markRelabelPending(anyLong(), anyLong(), anyString(), any())).thenReturn(1);
|
||||
var app = application(11L, "RL-PARCEL", "10001", "parcel-key", null, "PENDING_REVIEW"); app.setLastlegOrderId(21L);
|
||||
when(applications.findNo(eq("10001"), any())).thenReturn(app);
|
||||
|
||||
Reference in New Issue
Block a user