From ea1d369e61ca0f57d2a2109409f12e5ed3b8b6e8 Mon Sep 17 00:00:00 2001 From: lzh Date: Sun, 25 Jan 2026 00:00:00 +0800 Subject: [PATCH] test: Add dispatchToCleaner test case for complete coverage --- .../cleanorder/CleanOrderEndToEndTest.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) 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 {