test: Adapt tests to master branch refactoring (handlers and dispatch logic)

This commit is contained in:
lzh
2026-01-25 18:41:00 +08:00
parent 130048d958
commit a3909a0482
2 changed files with 12 additions and 34 deletions

View File

@@ -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<OpsOrderDO> 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<OrderTransitionRequest> 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<OrderTransitionRequest> 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