This commit is contained in:
2026-08-07 16:16:59 +08:00
parent ba5bad4429
commit f4c3a95772
2 changed files with 48 additions and 2 deletions
@@ -78,7 +78,7 @@ class CartonMeasurementServiceTest {
assertThat(result.confirmedPackageCount()).isEqualTo(1);
assertThat(result.boxCode()).isEqualTo("RK-001#5-1");
assertThat(insertedItem.get().getMeasurementId()).isEqualTo(30001L);
assertThat(insertedItem.get().getTotalVolumeCbm()).isEqualByComparingTo("0.0600");
assertThat(insertedItem.get().getTotalVolumeCbm()).isEqualByComparingTo("0.0733");
}
@Test
@@ -129,6 +129,30 @@ class CartonMeasurementServiceTest {
verify(repository).updateMeasurement(measurement);
}
@Test
void confirmedPackageCountCanBeCorrectedAfterSubmissionAndSyncsInboundSnapshot() {
InboundOrderEntity inbound = inbound("MEASURE_PENDING");
InboundMeasurementEntity measurement = measurement(30001L, "SUBMITTED", 2);
measurement.setTotalPackageCount(1);
measurement.setTotalVolumeCbm(new BigDecimal("0.0600"));
measurement.setVolumeWeightKg(new BigDecimal("10.020"));
InboundMeasurementItemEntity item = item(40001L, 30001L, 1, 99001L);
when(repository.findInbound(10001L, 70001L)).thenReturn(inbound);
when(repository.findItem(10001L, 40001L)).thenReturn(item);
when(repository.findMeasurement(10001L, 70001L, 30001L)).thenReturn(measurement);
when(repository.updateItem(item)).thenReturn(true);
when(repository.listItems(10001L, 30001L)).thenReturn(List.of(item));
when(repository.updateMeasurement(measurement)).thenReturn(true);
when(repository.updateInbound(inbound)).thenReturn(true);
service.updateConfirmedPackageCount(10001L, 70001L, 40001L, 2, 5);
assertThat(inbound.getTotalPackageCount()).isEqualTo(5);
assertThat(inbound.getActualVolumeCbm()).isEqualByComparingTo("0.3000");
assertThat(inbound.getVolumeWeightKg()).isEqualByComparingTo("50.100");
verify(repository).updateInbound(inbound);
}
private CartonMeasurementCommand command() {
return new CartonMeasurementCommand("RK-001#5-1", new BigDecimal("60.100"),
new BigDecimal("40.200"), new BigDecimal("30.300"), new BigDecimal("12.500"),