test: cover inbound legacy warning completion

This commit is contained in:
zgw
2026-09-03 16:50:13 +08:00
parent af7e00c9a0
commit 169b64850d

View File

@@ -93,6 +93,26 @@ class ToWmsServiceImplShadowTest {
verify(mydoJobMapper, times(1)).allotInJobSpace(any());
}
@Test
void legacyWarningCompletesShadowAndPreservesLegacyResponse() {
when(shadowObservationGateway.observeInbound("TASK-1", "TRAY-1"))
.thenReturn(shadowCompletion);
doAnswer(invocation -> {
@SuppressWarnings("unchecked")
HashMap<String, Object> parameters = invocation.getArgument(0);
parameters.put("v_result", "20");
parameters.put("v_resultmsg", "LEGACY-WARNING");
return null;
}).when(mydoJobMapper).allotInJobSpace(any());
AjaxResult result = service.requestEnterByTaskNo(request);
assertThat(result.get(AjaxResult.MSG_TAG)).isEqualTo("LEGACY-WARNING");
verify(shadowCompletion, times(1)).complete("20", null);
verify(shadowCompletion, never()).fail(any());
verify(mydoJobMapper, times(1)).allotInJobSpace(any());
}
@Test
void legacyExceptionClosesShadowActivityAndEscapesUnchanged() {
IllegalStateException legacyFailure = new IllegalStateException("legacy database failure");