From a3909a04824f5bc9cff07344b356424c04cd0c94 Mon Sep 17 00:00:00 2001 From: lzh Date: Sun, 25 Jan 2026 18:41:00 +0800 Subject: [PATCH] test: Adapt tests to master branch refactoring (handlers and dispatch logic) --- .../SignalLossRuleProcessorTest.java | 4 +- .../cleanorder/CleanOrderEndToEndTest.java | 42 +++++-------------- 2 files changed, 12 insertions(+), 34 deletions(-) diff --git a/viewsh-module-iot/viewsh-module-iot-server/src/test/java/com/viewsh/module/iot/service/rule/clean/processor/SignalLossRuleProcessorTest.java b/viewsh-module-iot/viewsh-module-iot-server/src/test/java/com/viewsh/module/iot/service/rule/clean/processor/SignalLossRuleProcessorTest.java index 64e2638..d3becf1 100644 --- a/viewsh-module-iot/viewsh-module-iot-server/src/test/java/com/viewsh/module/iot/service/rule/clean/processor/SignalLossRuleProcessorTest.java +++ b/viewsh-module-iot/viewsh-module-iot-server/src/test/java/com/viewsh/module/iot/service/rule/clean/processor/SignalLossRuleProcessorTest.java @@ -122,10 +122,10 @@ class SignalLossRuleProcessorTest { when(arrivedTimeRedisDAO.getArrivedTime(DEVICE_ID, AREA_ID)).thenReturn(arrivedTime); // Mock Current Order (Valid area) - DeviceCurrentOrderRedisDAO.OrderCacheInfo orderInfo = new DeviceCurrentOrderRedisDAO.OrderCacheInfo(); + BadgeDeviceStatusRedisDAO.OrderInfo orderInfo = new BadgeDeviceStatusRedisDAO.OrderInfo(); orderInfo.setOrderId(500L); orderInfo.setAreaId(AREA_ID); - when(deviceCurrentOrderRedisDAO.getCurrentOrder(DEVICE_ID)).thenReturn(orderInfo); + when(badgeDeviceStatusRedisDAO.getCurrentOrder(DEVICE_ID)).thenReturn(orderInfo); // Mock Config BeaconPresenceConfig.ExitConfig exitConfig = new BeaconPresenceConfig.ExitConfig(); diff --git a/viewsh-module-ops/viewsh-module-environment-biz/src/test/java/com/viewsh/module/ops/environment/service/cleanorder/CleanOrderEndToEndTest.java b/viewsh-module-ops/viewsh-module-environment-biz/src/test/java/com/viewsh/module/ops/environment/service/cleanorder/CleanOrderEndToEndTest.java index 52dd069..4f24c22 100644 --- a/viewsh-module-ops/viewsh-module-environment-biz/src/test/java/com/viewsh/module/ops/environment/service/cleanorder/CleanOrderEndToEndTest.java +++ b/viewsh-module-ops/viewsh-module-environment-biz/src/test/java/com/viewsh/module/ops/environment/service/cleanorder/CleanOrderEndToEndTest.java @@ -199,9 +199,6 @@ public class CleanOrderEndToEndTest { // 2. 验证扩展表创建 verify(cleanExtMapper).insert(any(OpsOrderCleanExtDO.class)); - - // 3. 验证计数器重置调用 - verify(iotDeviceControlApi).resetTrafficCounter(any()); } @Test @@ -261,8 +258,7 @@ public class CleanOrderEndToEndTest { @Test void testAV01_BeaconAutoArrive() throws Exception { injectField(arriveEventHandler, "orderLifecycleManager", orderLifecycleManager); - injectField(arriveEventHandler, "badgeDeviceStatusService", badgeDeviceStatusService); - + // 准备工单:状态 DISPATCHED Long orderId = 1001L; OpsOrderDO order = OpsOrderDO.builder() @@ -286,13 +282,6 @@ public class CleanOrderEndToEndTest { arriveEventHandler.onMessage(eventJson); // 验证 - // 1. 验证设备ID更新 - ArgumentCaptor orderCaptor = ArgumentCaptor.forClass(OpsOrderDO.class); - verify(opsOrderMapper).updateById((OpsOrderDO) orderCaptor.capture()); - OpsOrderDO updatedOrder = orderCaptor.getValue(); - assertEquals(orderId, updatedOrder.getId()); - assertEquals(5001L, updatedOrder.getAssigneeDeviceId()); - // 2. 验证调用了生命周期管理器的 transition ArgumentCaptor reqCaptor = ArgumentCaptor.forClass(OrderTransitionRequest.class); verify(orderLifecycleManager).transition(reqCaptor.capture()); @@ -300,10 +289,6 @@ public class CleanOrderEndToEndTest { assertEquals(orderId, req.getOrderId()); assertEquals(WorkOrderStatusEnum.ARRIVED, req.getTargetStatus()); assertTrue(req.getReason().contains("自动到岗确认")); - - // 3. 验证设备状态服务更新工单信息 - verify(badgeDeviceStatusService).setCurrentOrderInfo(eq(5001L), eq(1001L), - eq(WorkOrderStatusEnum.ARRIVED.getStatus()), eq(101L), eq("F0:C8:60:1D:10:BB")); } @Test @@ -332,9 +317,6 @@ public class CleanOrderEndToEndTest { @Test void testCP01_SignalLossAutoComplete() throws Exception { injectField(completeEventHandler, "orderLifecycleManager", orderLifecycleManager); - injectField(completeEventHandler, "cleanOrderService", cleanOrderService); - injectField(completeEventHandler, "badgeDeviceStatusService", badgeDeviceStatusService); - injectField(cleanOrderService, "dispatchEngine", dispatchEngine); // 准备工单:状态 ARRIVED Long orderId = 1003L; @@ -352,23 +334,19 @@ public class CleanOrderEndToEndTest { "\"triggerSource\":\"IOT_SIGNAL_LOSS\"," + "\"triggerData\":{\"durationMs\":1800000}" + "}"; - - // 模拟 autoDispatchNext 调用成功 - when(dispatchEngine.autoDispatchNext(eq(orderId), eq(2001L))) - .thenReturn(DispatchResult.success("Success", 2001L)); - + // 执行 completeEventHandler.onMessage(eventJson); // 验证 - // 1. 验证调用了 completeOrder - verify(orderLifecycleManager).completeOrder(eq(orderId), eq(null), contains("信号丢失超时")); - - // 2. 验证清理了设备工单缓存 - verify(badgeDeviceStatusService).clearCurrentOrder(5001L); - - // 3. 验证触发了自动调度下一单 - verify(dispatchEngine).autoDispatchNext(eq(orderId), eq(2001L)); + // 1. 验证调用了 transition (not completeOrder) + ArgumentCaptor reqCaptor = ArgumentCaptor.forClass(OrderTransitionRequest.class); + verify(orderLifecycleManager).transition(reqCaptor.capture()); + + OrderTransitionRequest req = reqCaptor.getValue(); + assertEquals(orderId, req.getOrderId()); + assertEquals(WorkOrderStatusEnum.COMPLETED, req.getTargetStatus()); + assertTrue(req.getReason().contains("信号丢失超时")); } @Test