diff --git a/firstleg/src/test/java/com/baiyue/firstleg/service/MojiaMeasurementOpenApiServiceTest.java b/firstleg/src/test/java/com/baiyue/firstleg/service/MojiaMeasurementOpenApiServiceTest.java index 73c3dd64a..50579951d 100644 --- a/firstleg/src/test/java/com/baiyue/firstleg/service/MojiaMeasurementOpenApiServiceTest.java +++ b/firstleg/src/test/java/com/baiyue/firstleg/service/MojiaMeasurementOpenApiServiceTest.java @@ -59,6 +59,7 @@ class MojiaMeasurementOpenApiServiceTest { var service = new MojiaMeasurementOpenApiService(authenticator, cartons, new ObjectMapper().findAndRegisterModules(), Validation.buildDefaultValidatorFactory().getValidator(), images, receipts, labels); + ReflectionTestUtils.setField(service, "internalToken", "internal-token"); MeasurementRequestHeaders headers = new MeasurementRequestHeaders("mojia", null, null, null, null); when(authenticator.authenticate("POST", MojiaMeasurementOpenApiService.CALLBACK_PATH, headers, json(), false)).thenReturn(new AuthenticatedMeasurementApp( @@ -170,6 +171,7 @@ class MojiaMeasurementOpenApiServiceTest { var service = new MojiaMeasurementOpenApiService(authenticator, cartons, new ObjectMapper().findAndRegisterModules(), Validation.buildDefaultValidatorFactory().getValidator(), images, receipts, labels); + ReflectionTestUtils.setField(service, "internalToken", "internal-token"); MeasurementRequestHeaders headers = new MeasurementRequestHeaders("mojia", null, null, null, null); when(authenticator.authenticate("POST", MojiaMeasurementOpenApiService.CALLBACK_PATH, headers, json(), false)).thenReturn(new AuthenticatedMeasurementApp( @@ -178,10 +180,18 @@ class MojiaMeasurementOpenApiServiceTest { .thenReturn(new InboundCartonLabelService.PlatformBinding(10002L, 30002L, new CartonLabelBindingResolver.Binding( 70002L, 80002L, "PCHK2608140001", 1, 5, "60x40x30cm"))); + when(images.uploadReceipt(eq("internal-token"), eq(90001L), eq(0L), any(Long.TYPE), any())) + .thenReturn(ApiResponse.success(new MeasurementImageClient.UploadResult( + 9L, "mojia.jpg", "image/jpeg", 4L, "NOT_REQUIRED", null, null, null, null))); - org.assertj.core.api.Assertions.assertThatThrownBy(() -> service.receive(headers, json())) - .isInstanceOf(BizException.class) - .hasMessageContaining("不属于当前设备绑定仓库"); + UploadResponse result = service.receive(headers, json()); + assertThat(result.accepted()).isTrue(); + assertThat(result.matched()).isFalse(); + ArgumentCaptor receipt = + ArgumentCaptor.forClass(MojiaMeasurementReceiptEntity.class); + verify(receipts).insert(receipt.capture()); + assertThat(receipt.getValue().getMeasurementKind()).isEqualTo("BOX_LABEL"); + assertThat(receipt.getValue().getMatchFailureReason()).contains("不属于当前设备绑定仓库"); verify(cartons, org.mockito.Mockito.never()).upsert(any(Long.TYPE), any(Long.TYPE), any()); }