|
|
@@ -513,6 +513,7 @@ class WaterSupplyDeviceServiceImplTest {
|
|
|
MaintainOrderVO request = new MaintainOrderVO();
|
|
|
request.setEquipmentId(pressureDevice.getEquipmentId());
|
|
|
request.setMaintainContent("压力异常");
|
|
|
+ request.setOrderLevel(1);
|
|
|
request.setMaintainRemark("请尽快处理");
|
|
|
request.setReceiveUserId(88L);
|
|
|
when(businessWorkOrderService.createWorkOrder(any(WorkOrder.class))).thenAnswer(invocation -> {
|
|
|
@@ -527,10 +528,34 @@ class WaterSupplyDeviceServiceImplTest {
|
|
|
assertTrue(service.createMaintainOrder(request));
|
|
|
|
|
|
verify(equipmentMaintainMapper, never()).insert(any(EquipmentMaintain.class));
|
|
|
- verify(businessWorkOrderService).createWorkOrder(any(WorkOrder.class));
|
|
|
+ ArgumentCaptor<WorkOrder> orderCaptor = ArgumentCaptor.forClass(WorkOrder.class);
|
|
|
+ verify(businessWorkOrderService).createWorkOrder(orderCaptor.capture());
|
|
|
+ assertEquals(1, orderCaptor.getValue().getOrderType());
|
|
|
+ assertEquals(1, orderCaptor.getValue().getOrderLevel());
|
|
|
verify(businessWorkOrderService).dispatchOrder(100L, 88L, "请尽快处理", null, null);
|
|
|
}
|
|
|
|
|
|
+ @Test
|
|
|
+ void createAbnormalWorkOrderRejectsWhenDeviceHasActiveWorkOrder() {
|
|
|
+ MaintainOrderVO request = new MaintainOrderVO();
|
|
|
+ request.setEquipmentId(pressureDevice.getEquipmentId());
|
|
|
+ request.setMaintainContent("压力异常");
|
|
|
+ doReturn(pressureDevice).when(service).getById(pressureDevice.getEquipmentId());
|
|
|
+
|
|
|
+ WorkOrder activeOrder = new WorkOrder();
|
|
|
+ activeOrder.setDeviceId(pressureDevice.getEquipmentId());
|
|
|
+ activeOrder.setOrderNo("WO-ACTIVE");
|
|
|
+ activeOrder.setOrderType(1);
|
|
|
+ activeOrder.setOrderStatus(2);
|
|
|
+ when(workOrderMapper.selectList(any())).thenReturn(Collections.singletonList(activeOrder));
|
|
|
+
|
|
|
+ RuntimeException error = assertThrows(RuntimeException.class,
|
|
|
+ () -> service.createAbnormalWorkOrder(request));
|
|
|
+
|
|
|
+ assertEquals("该设备已有未结束故障维修工单,不能重复创建", error.getMessage());
|
|
|
+ verify(businessWorkOrderService, never()).createWorkOrder(any(WorkOrder.class));
|
|
|
+ }
|
|
|
+
|
|
|
@Test
|
|
|
void maintainRecordListDoesNotExposeNonWaterDevices() {
|
|
|
EquipmentMaintain gasRecord = new EquipmentMaintain();
|