fix(dropship): preserve carton quantities and shared pallet outbound ownership
This commit is contained in:
+2
-2
@@ -59,7 +59,7 @@ class DropshipOrderControllerContractTest {
|
||||
"name: X-Internal-Service-Token",
|
||||
"required: [customerId, orderId, warehouseId, idempotencyKey, pallets]",
|
||||
"required: [palletNo, skuPackages]",
|
||||
"required: [skuCode, packageCount, productQuantity, cartonMarks]",
|
||||
"required: [skuCode, packageCount, productQuantity, cartonMarks, cartonQuantities]",
|
||||
"data: { type: integer, format: int32, minimum: 0 }");
|
||||
assertThat(yaml.indexOf("name: X-Internal-Service-Token"))
|
||||
.isLessThan(yaml.indexOf("requestBody:"));
|
||||
@@ -69,6 +69,6 @@ class DropshipOrderControllerContractTest {
|
||||
return new DropshipRequests.Receive("100", 10L, 20L, "event-1",
|
||||
List.of(new DropshipRequests.Pallet("PALLET-1",
|
||||
List.of(new DropshipRequests.SkuPackages("SKU-1", "Product", 1, 2,
|
||||
List.of("CARTON-1"))), 1, 1, 1, "0".repeat(64))));
|
||||
List.of("CARTON-1"), java.util.Map.of("CARTON-1", 2L))), 1, 1, 1, "0".repeat(64))));
|
||||
}
|
||||
}
|
||||
|
||||
+4
-2
@@ -52,10 +52,10 @@ class DropshipOrderServiceTest {
|
||||
List.of(
|
||||
new DropshipRequests.Pallet("SOURCE-P-1", List.of(
|
||||
new DropshipRequests.SkuPackages("SKU-A", "Product A", 2, 20,
|
||||
List.of("MARK-1", "MARK-2"))), 1, 2, 1, "0".repeat(64)),
|
||||
List.of("MARK-1", "MARK-2"), java.util.Map.of("MARK-1", 7L, "MARK-2", 13L))), 1, 2, 1, "0".repeat(64)),
|
||||
new DropshipRequests.Pallet("SOURCE-P-2", List.of(
|
||||
new DropshipRequests.SkuPackages("SKU-A", "Product A", 1, 10,
|
||||
List.of("MARK-3"))), 1, 1, 1, "1".repeat(64))));
|
||||
List.of("MARK-3"), java.util.Map.of("MARK-3", 10L))), 1, 1, 1, "1".repeat(64))));
|
||||
|
||||
assertThat(service.receive(request)).isEqualTo(3);
|
||||
verifyNoInteractions(warehouse);
|
||||
@@ -76,6 +76,8 @@ class DropshipOrderServiceTest {
|
||||
.containsOnlyNulls();
|
||||
ArgumentCaptor<DropshipCarton> cartonCaptor = ArgumentCaptor.forClass(DropshipCarton.class);
|
||||
verify(cartons, times(3)).insert(cartonCaptor.capture());
|
||||
assertThat(cartonCaptor.getAllValues()).extracting(DropshipCarton::getProductQuantity)
|
||||
.containsExactly(7L, 13L, 10L);
|
||||
assertThat(cartonCaptor.getAllValues()).extracting(DropshipCarton::getStatus)
|
||||
.containsOnly("PENDING_INBOUND");
|
||||
ArgumentCaptor<DropshipCartonLedger> ledgerCaptor = ArgumentCaptor.forClass(DropshipCartonLedger.class);
|
||||
|
||||
Reference in New Issue
Block a user