diff --git a/firstleg/src/test/java/com/baiyue/firstleg/service/CartonMeasurementServiceTest.java b/firstleg/src/test/java/com/baiyue/firstleg/service/CartonMeasurementServiceTest.java index 6f344e119..3d04684a7 100644 --- a/firstleg/src/test/java/com/baiyue/firstleg/service/CartonMeasurementServiceTest.java +++ b/firstleg/src/test/java/com/baiyue/firstleg/service/CartonMeasurementServiceTest.java @@ -164,7 +164,7 @@ class CartonMeasurementServiceTest { } @Test - void scanOutsideConfiguredWeightingRulesKeepsImageAndUsesLargestTierAddition() { + void scanOutsideConfiguredWeightingRulesKeepsImageAndUsesActualDimensions() { InboundMeasurementEntity measurement = measurement(30001L, "RECEIVED", 0); when(repository.findItemByBoxCode(10001L, "RK-001#5-1")).thenReturn(null); when(repository.findLatestEditableMeasurement(10001L, 70001L)).thenReturn(measurement); @@ -183,7 +183,11 @@ class CartonMeasurementServiceTest { assertThat(insertedItem.get().getSourceImageFileId()).isEqualTo(99001L); assertThat(insertedItem.get().getLengthCm()).isEqualByComparingTo("60.100"); assertThat(insertedItem.get().getCalculationRuleVersion()) - .isEqualTo("CUSTOMER_DIMENSION_EXTRA_LARGE_V0"); + .isEqualTo("ACTUAL_DIMENSION_V1"); + assertThat(insertedItem.get().getOuterLengthCm()).isEqualByComparingTo("60.100"); + assertThat(insertedItem.get().getOuterWidthCm()).isEqualByComparingTo("50.100"); + assertThat(insertedItem.get().getOuterHeightCm()).isEqualByComparingTo("50.100"); + assertThat(insertedItem.get().getUnitVolumeCbm()).isEqualByComparingTo("0.151"); assertThat(insertedItem.get().getOverLimitWarning()).isNull(); verify(images, never()).delete(any(), any(Long.TYPE), any(Long.TYPE), any(Long.TYPE), any(Long.TYPE)); } diff --git a/firstleg/src/test/java/com/baiyue/firstleg/service/CustomerDimensionWeightingServiceTest.java b/firstleg/src/test/java/com/baiyue/firstleg/service/CustomerDimensionWeightingServiceTest.java index 423983954..5622a1e10 100644 --- a/firstleg/src/test/java/com/baiyue/firstleg/service/CustomerDimensionWeightingServiceTest.java +++ b/firstleg/src/test/java/com/baiyue/firstleg/service/CustomerDimensionWeightingServiceTest.java @@ -68,6 +68,19 @@ class CustomerDimensionWeightingServiceTest { assertThat(weighted.calculationRuleVersion()).isEqualTo("CUSTOMER_DIMENSION_EXTRA_LARGE_V3"); } + @Test + void deviceDimensionsOutsideConfiguredRulesRemainUnchanged() { + var weighted = service.load(10001L).resolveDeviceMeasurement( + new BigDecimal("60.001"), new BigDecimal("50"), new BigDecimal("50")); + + assertThat(weighted.boxType()).isNull(); + assertThat(weighted.edgeAdditionCm()).isNull(); + assertThat(weighted.outerLengthCm()).isEqualByComparingTo("60.001"); + assertThat(weighted.outerWidthCm()).isEqualByComparingTo("50.000"); + assertThat(weighted.outerHeightCm()).isEqualByComparingTo("50.000"); + assertThat(weighted.calculationRuleVersion()).isEqualTo("ACTUAL_DIMENSION_V1"); + } + @Test void incompleteCustomerRulesAreRejectedBeforeMeasurementCalculation() { when(repository.findAll(10001L)).thenReturn(defaultRules(10001L).subList(0, 3));