From 90402710d962aa357062ecb94649e0f277c1dfb3 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期日, 29 三月 2026 21:03:48 +0800
Subject: [PATCH] #
---
src/test/java/com/zy/asrs/controller/StationControllerTest.java | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 48 insertions(+), 0 deletions(-)
diff --git a/src/test/java/com/zy/asrs/controller/StationControllerTest.java b/src/test/java/com/zy/asrs/controller/StationControllerTest.java
index 5983e47..c6dcd32 100644
--- a/src/test/java/com/zy/asrs/controller/StationControllerTest.java
+++ b/src/test/java/com/zy/asrs/controller/StationControllerTest.java
@@ -4,8 +4,12 @@
import com.zy.asrs.domain.param.StationCommandMoveParam;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.service.BasDevpService;
+import com.zy.core.dispatch.StationCommandDispatchResult;
+import com.zy.core.dispatch.StationCommandDispatcher;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
+import com.zy.core.enums.StationCommandType;
+import com.zy.core.model.command.StationCommand;
import com.zy.core.thread.StationThread;
import org.junit.jupiter.api.Test;
import org.springframework.test.util.ReflectionTestUtils;
@@ -13,12 +17,21 @@
import java.util.Collections;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.same;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
class StationControllerTest {
+
+ @Test
+ void controller_noLongerKeepsDispatcherFallbackHelper() {
+ assertThrows(NoSuchMethodException.class,
+ () -> StationController.class.getDeclaredMethod("getStationCommandDispatcher"));
+ }
@Test
void commandClearPath_callsThreadClearPath() {
@@ -48,4 +61,39 @@
SlaveConnection.remove(SlaveType.Devp, 1);
}
}
+
+ @Test
+ void commandMove_dispatchesViaStationCommandDispatcher() {
+ StationController controller = new StationController();
+ BasDevpService basDevpService = mock(BasDevpService.class);
+ StationThread stationThread = mock(StationThread.class);
+ StationCommandDispatcher dispatcher = mock(StationCommandDispatcher.class);
+ StationCommand command = new StationCommand();
+
+ ReflectionTestUtils.setField(controller, "basDevpService", basDevpService);
+ ReflectionTestUtils.setField(controller, "stationCommandDispatcher", dispatcher);
+
+ BasDevp basDevp = new BasDevp();
+ basDevp.setStationList("[{\"deviceNo\":1,\"stationId\":145}]");
+ when(basDevpService.list(any(com.baomidou.mybatisplus.core.conditions.Wrapper.class)))
+ .thenReturn(Collections.singletonList(basDevp));
+ when(stationThread.getCommand(StationCommandType.MOVE, 10335, 145, 188, 0)).thenReturn(command);
+ when(dispatcher.dispatch(1, command, "station-controller", "manual-move"))
+ .thenReturn(StationCommandDispatchResult.accepted("accepted", 1, "station-controller", "manual-move"));
+
+ StationCommandMoveParam param = new StationCommandMoveParam();
+ param.setStationId(145);
+ param.setTaskNo(10335);
+ param.setTargetStationId(188);
+
+ SlaveConnection.put(SlaveType.Devp, 1, stationThread);
+ try {
+ R result = controller.commandMove(param);
+
+ assertEquals(200, result.get("code"));
+ verify(dispatcher).dispatch(eq(1), same(command), eq("station-controller"), eq("manual-move"));
+ } finally {
+ SlaveConnection.remove(SlaveType.Devp, 1);
+ }
+ }
}
--
Gitblit v1.9.1