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,
|
||||
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<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());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user