test: add cleaning flow tests for OpsOrderService
This commit is contained in:
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user