diff --git a/ruoyi-admin/src/test/java/com/ruoyi/api/service/impl/ToWmsServiceImplShadowTest.java b/ruoyi-admin/src/test/java/com/ruoyi/api/service/impl/ToWmsServiceImplShadowTest.java index f827721..b6b60ff 100644 --- a/ruoyi-admin/src/test/java/com/ruoyi/api/service/impl/ToWmsServiceImplShadowTest.java +++ b/ruoyi-admin/src/test/java/com/ruoyi/api/service/impl/ToWmsServiceImplShadowTest.java @@ -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 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");