From 22fad4ad311a6b663d697cb7859944e41534b52b Mon Sep 17 00:00:00 2001 From: lzh Date: Tue, 20 Jan 2026 18:07:05 +0800 Subject: [PATCH] test: add cleaning flow tests for OpsOrderService --- .../service/order/OpsOrderServiceTest.java | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/viewsh-module-ops/viewsh-module-ops-biz/src/test/java/com/viewsh/module/ops/service/order/OpsOrderServiceTest.java b/viewsh-module-ops/viewsh-module-ops-biz/src/test/java/com/viewsh/module/ops/service/order/OpsOrderServiceTest.java index 9a9a999..0e3da90 100644 --- a/viewsh-module-ops/viewsh-module-ops-biz/src/test/java/com/viewsh/module/ops/service/order/OpsOrderServiceTest.java +++ b/viewsh-module-ops/viewsh-module-ops-biz/src/test/java/com/viewsh/module/ops/service/order/OpsOrderServiceTest.java @@ -84,9 +84,34 @@ public class OpsOrderServiceTest { // 模拟 MyBatis Plus 的 ID 自动回填 if (order.getId() == null) { order.setId(1L); - } + @Test + void testAssignOrder_FromQueuedStatus_Success() { + // Given + testOrder.setStatus(WorkOrderStatusEnum.QUEUED.getStatus()); + OpsOrderAssignReqDTO assignReq = new OpsOrderAssignReqDTO(); + assignReq.setOrderId(1L); + assignReq.setAssigneeId(2001L); + assignReq.setRemark("排队后分配"); + + when(opsOrderMapper.selectById(1L)).thenReturn(testOrder); + + // When + assertDoesNotThrow(() -> opsOrderService.assignOrder(assignReq, OperatorTypeEnum.SYSTEM, null)); + + // Then + verify(orderStateMachine, times(1)).transition( + eq(testOrder), + eq(WorkOrderStatusEnum.DISPATCHED), + eq(OperatorTypeEnum.SYSTEM), + eq(null), + eq("排队后分配") + ); + assertEquals(2001L, testOrder.getAssigneeId()); + } +} return 1; }); + lenient().doAnswer(invocation -> { OpsOrderDO order = invocation.getArgument(0); order.setStatus(WorkOrderStatusEnum.PENDING.getStatus());