fix: merge multi-pallet dropship handover fragments
This commit is contained in:
+26
@@ -147,6 +147,32 @@ class LoadingCompletedConsumerTest {
|
||||
verify(cartons,never()).insert(any(com.baiyue.lastleg.inboundplan.entity.InboundPlanCarton.class));
|
||||
verify(orders,never()).insert(any(LastlegOrder.class));
|
||||
}
|
||||
@Test void consumesOneDropshipSourceDetailSplitAcrossTwoPallets() {
|
||||
EventEnvelope original=overseasDropshipEvent(false);
|
||||
var node=(com.fasterxml.jackson.databind.node.ObjectNode)original.payload().deepCopy();
|
||||
var order=(com.fasterxml.jackson.databind.node.ObjectNode)node.path("orders").get(0);
|
||||
var secondItem=(com.fasterxml.jackson.databind.node.ObjectNode)order.path("items").get(0).deepCopy();
|
||||
((com.fasterxml.jackson.databind.node.ArrayNode)order.path("items")).add(secondItem);
|
||||
order.put("packageCount",10).put("productQuantity",100).put("palletCount",2);
|
||||
var secondPallet=(com.fasterxml.jackson.databind.node.ObjectNode)order.path("pallets").get(0).deepCopy();
|
||||
secondPallet.put("palletNo","DP-260914-0022");
|
||||
var secondSku=(com.fasterxml.jackson.databind.node.ObjectNode)secondPallet.path("skuPackages").get(0);
|
||||
var marks=secondSku.putArray("cartonMarks"); for(int n=6;n<=10;n++)marks.add("RK1#10-"+n);
|
||||
((com.fasterxml.jackson.databind.node.ArrayNode)order.path("pallets")).add(secondPallet);
|
||||
|
||||
service.consume(rehash(original,node));
|
||||
|
||||
var detailCaptor=ArgumentCaptor.forClass(LastlegOrderDetail.class);
|
||||
verify(details).insert(detailCaptor.capture());
|
||||
assertEquals("d-1",detailCaptor.getValue().getSourceInboundDetailId());
|
||||
assertEquals(10,detailCaptor.getValue().getPackageCount());
|
||||
assertEquals(100,detailCaptor.getValue().getProductQuantity());
|
||||
verify(cartons,times(10)).insert(any(com.baiyue.lastleg.inboundplan.entity.InboundPlanCarton.class));
|
||||
var received=ArgumentCaptor.forClass(DropshipRequests.Receive.class);
|
||||
verify(dropshipOrders).receive(received.capture());
|
||||
assertEquals(List.of("DP-260909-0143","DP-260914-0022"),
|
||||
received.getValue().pallets().stream().map(DropshipRequests.Pallet::palletNo).toList());
|
||||
}
|
||||
@Test void mapsSameSkuDifferentSourceDetailsWithoutGuessing() {
|
||||
EventEnvelope original=overseasDropshipEvent(false);
|
||||
var node=(com.fasterxml.jackson.databind.node.ObjectNode)original.payload().deepCopy();
|
||||
|
||||
Reference in New Issue
Block a user