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 80eb6fd..c1949f5 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 @@ -448,6 +448,34 @@ public class CleanOrderEndToEndTest { verify(cleanOrderEventListener).sendPriorityUpgradeNotification(eq(2001L), eq("WO-P2")); } + @Test + void testDispatchToCleaner() { + Long queueId = 888L; + Long orderId = 1005L; + Long cleanerId = 2005L; + + // Mock Queue Data + OrderQueueDTO queueDTO = new OrderQueueDTO(); + queueDTO.setId(queueId); + queueDTO.setOpsOrderId(orderId); + queueDTO.setUserId(cleanerId); + + when(orderQueueService.getById(queueId)).thenReturn(queueDTO); + + // Execute + cleanOrderService.dispatchToCleaner(queueId); + + // Verify + ArgumentCaptor reqCaptor = ArgumentCaptor.forClass(OrderTransitionRequest.class); + verify(orderLifecycleManager).dispatch(reqCaptor.capture()); + + OrderTransitionRequest req = reqCaptor.getValue(); + assertEquals(orderId, req.getOrderId()); + assertEquals(cleanerId, req.getAssigneeId()); + assertEquals(queueId, req.getQueueId()); + assertEquals(WorkOrderStatusEnum.DISPATCHED, req.getTargetStatus()); + } + // 简单的反射注入辅助方法 private void injectField(Object target, String fieldName, Object value) { try {