test: Adapt tests to master branch refactoring (handlers and dispatch logic)
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user