test: cover persisted mismatched Mojia uploads
This commit is contained in:
+13
-3
@@ -59,6 +59,7 @@ class MojiaMeasurementOpenApiServiceTest {
|
|||||||
var service = new MojiaMeasurementOpenApiService(authenticator, cartons,
|
var service = new MojiaMeasurementOpenApiService(authenticator, cartons,
|
||||||
new ObjectMapper().findAndRegisterModules(), Validation.buildDefaultValidatorFactory().getValidator(),
|
new ObjectMapper().findAndRegisterModules(), Validation.buildDefaultValidatorFactory().getValidator(),
|
||||||
images, receipts, labels);
|
images, receipts, labels);
|
||||||
|
ReflectionTestUtils.setField(service, "internalToken", "internal-token");
|
||||||
MeasurementRequestHeaders headers = new MeasurementRequestHeaders("mojia", null, null, null, null);
|
MeasurementRequestHeaders headers = new MeasurementRequestHeaders("mojia", null, null, null, null);
|
||||||
when(authenticator.authenticate("POST", MojiaMeasurementOpenApiService.CALLBACK_PATH,
|
when(authenticator.authenticate("POST", MojiaMeasurementOpenApiService.CALLBACK_PATH,
|
||||||
headers, json(), false)).thenReturn(new AuthenticatedMeasurementApp(
|
headers, json(), false)).thenReturn(new AuthenticatedMeasurementApp(
|
||||||
@@ -170,6 +171,7 @@ class MojiaMeasurementOpenApiServiceTest {
|
|||||||
var service = new MojiaMeasurementOpenApiService(authenticator, cartons,
|
var service = new MojiaMeasurementOpenApiService(authenticator, cartons,
|
||||||
new ObjectMapper().findAndRegisterModules(), Validation.buildDefaultValidatorFactory().getValidator(),
|
new ObjectMapper().findAndRegisterModules(), Validation.buildDefaultValidatorFactory().getValidator(),
|
||||||
images, receipts, labels);
|
images, receipts, labels);
|
||||||
|
ReflectionTestUtils.setField(service, "internalToken", "internal-token");
|
||||||
MeasurementRequestHeaders headers = new MeasurementRequestHeaders("mojia", null, null, null, null);
|
MeasurementRequestHeaders headers = new MeasurementRequestHeaders("mojia", null, null, null, null);
|
||||||
when(authenticator.authenticate("POST", MojiaMeasurementOpenApiService.CALLBACK_PATH,
|
when(authenticator.authenticate("POST", MojiaMeasurementOpenApiService.CALLBACK_PATH,
|
||||||
headers, json(), false)).thenReturn(new AuthenticatedMeasurementApp(
|
headers, json(), false)).thenReturn(new AuthenticatedMeasurementApp(
|
||||||
@@ -178,10 +180,18 @@ class MojiaMeasurementOpenApiServiceTest {
|
|||||||
.thenReturn(new InboundCartonLabelService.PlatformBinding(10002L, 30002L,
|
.thenReturn(new InboundCartonLabelService.PlatformBinding(10002L, 30002L,
|
||||||
new CartonLabelBindingResolver.Binding(
|
new CartonLabelBindingResolver.Binding(
|
||||||
70002L, 80002L, "PCHK2608140001", 1, 5, "60x40x30cm")));
|
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()))
|
UploadResponse result = service.receive(headers, json());
|
||||||
.isInstanceOf(BizException.class)
|
assertThat(result.accepted()).isTrue();
|
||||||
.hasMessageContaining("不属于当前设备绑定仓库");
|
assertThat(result.matched()).isFalse();
|
||||||
|
ArgumentCaptor<MojiaMeasurementReceiptEntity> 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());
|
verify(cartons, org.mockito.Mockito.never()).upsert(any(Long.TYPE), any(Long.TYPE), any());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user