fix: carry partial dropship measurements to outbound
This commit is contained in:
+26
@@ -203,6 +203,32 @@ class LoadingCompletedOutboxServiceTest {
|
||||
.isEqualTo(second.payload().at("/orders/0/items/0/cartonMarks"));
|
||||
}
|
||||
|
||||
@Test void publishesOnlyTheActuallyLoadedFragmentMeasurements() throws Exception {
|
||||
Row loadedFragment = row(11, 100, 101);
|
||||
loadedFragment.setPackageCount(4);
|
||||
loadedFragment.setGrossWeightKg(new BigDecimal("40"));
|
||||
loadedFragment.setNetWeightKg(new BigDecimal("36"));
|
||||
loadedFragment.setDimensionalWeightKg(new BigDecimal("80"));
|
||||
loadedFragment.setVolumeCbm(new BigDecimal("4"));
|
||||
when(snapshots.rows(90L)).thenReturn(List.of(loadedFragment));
|
||||
when(manifests.labelPool(11L, 100L)).thenReturn(List.of(
|
||||
label(101, "BOX-001"), label(101, "BOX-002"),
|
||||
label(101, "BOX-003"), label(101, "BOX-004")));
|
||||
|
||||
service.publish(90L);
|
||||
|
||||
ArgumentCaptor<InboundOutboxEntity> captor = ArgumentCaptor.forClass(InboundOutboxEntity.class);
|
||||
verify(outbox).insert(captor.capture());
|
||||
EventEnvelope event = mapper.readValue(captor.getValue().getPayloadJson(), EventEnvelope.class);
|
||||
assertThat(event.payload().at("/orders/0/packageCount").asInt()).isEqualTo(4);
|
||||
assertThat(event.payload().at("/orders/0/grossWeightKg").decimalValue()).isEqualByComparingTo("40");
|
||||
assertThat(event.payload().at("/orders/0/volumeWeightKg").decimalValue()).isEqualByComparingTo("80");
|
||||
assertThat(event.payload().at("/orders/0/volumeCbm").decimalValue()).isEqualByComparingTo("4");
|
||||
assertThat(event.payload().at("/orders/0/items/0/packageCount").asInt()).isEqualTo(4);
|
||||
assertThat(event.payload().at("/orders/0/items/0/grossWeightKg").decimalValue()).isEqualByComparingTo("40");
|
||||
assertThat(event.payload().at("/orders/0/items/0/volumeCbm").decimalValue()).isEqualByComparingTo("4");
|
||||
}
|
||||
|
||||
@Test void immutableCustomerNameParticipatesInPayloadHash() {
|
||||
Row value = row(11, 100, 101);
|
||||
when(snapshots.rows(90L)).thenReturn(List.of(value));
|
||||
|
||||
Reference in New Issue
Block a user