package com.zy.asrs.task; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.zy.asrs.entity.WrkMast; import com.zy.asrs.service.LocMastService; import com.zy.asrs.service.WrkAnalysisService; import com.zy.asrs.service.WrkMastLogService; import com.zy.asrs.service.WrkMastService; import com.zy.asrs.utils.NotifyUtils; import com.zy.core.enums.WrkIoType; import com.zy.core.enums.WrkStsType; import org.junit.jupiter.api.Test; import java.util.List; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; class WrkMastSchedulerCrnMoveTest { @Test void executeCrnMove_archivesAndRemovesCompletedCrnMoveTask() { WrkMastService wrkMastService = mock(WrkMastService.class); WrkMastLogService wrkMastLogService = mock(WrkMastLogService.class); WrkAnalysisService wrkAnalysisService = mock(WrkAnalysisService.class); LocMastService locMastService = mock(LocMastService.class); NotifyUtils notifyUtils = mock(NotifyUtils.class); WrkMastScheduler scheduler = new WrkMastScheduler( wrkMastService, wrkMastLogService, wrkAnalysisService, locMastService, notifyUtils ); WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(30001); wrkMast.setIoType(WrkIoType.CRN_MOVE.id); wrkMast.setWrkSts(WrkStsType.COMPLETE_CRN_MOVE.sts); when(wrkMastService.list(any(QueryWrapper.class))).thenReturn(List.of(wrkMast)); when(wrkMastLogService.save(30001)).thenReturn(true); when(wrkMastService.removeById(30001)).thenReturn(true); scheduler.executeCrnMove(); verify(wrkMastLogService).save(30001); verify(wrkAnalysisService).finishTask(any(WrkMast.class), any()); verify(wrkMastService).removeById(30001); } }