| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package com.ruoyi.app.flashdelivery.task;
- import com.ruoyi.app.flashdelivery.service.FlashDeliveryApplicationService;
- import com.ruoyi.system.domain.flash.FlashDeliveryOrder;
- import org.junit.jupiter.api.Test;
- import org.springframework.stereotype.Component;
- import java.util.Date;
- import java.util.List;
- import static org.junit.jupiter.api.Assertions.assertEquals;
- import static org.mockito.ArgumentMatchers.any;
- import static org.mockito.ArgumentMatchers.anyInt;
- import static org.mockito.Mockito.doThrow;
- import static org.mockito.Mockito.mock;
- import static org.mockito.Mockito.verify;
- import static org.mockito.Mockito.when;
- class FlashDeliveryAvailabilityTaskTest {
- @Test
- void exposesDedicatedQuartzBeanAndOpensEveryDueScheduledOrder() {
- Component component = FlashDeliveryAvailabilityTask.class.getAnnotation(Component.class);
- assertEquals("flashDeliveryAvailabilityTask", component.value());
- FlashDeliveryApplicationService service = mock(FlashDeliveryApplicationService.class);
- FlashDeliveryOrder first = new FlashDeliveryOrder();
- first.setId(1L);
- FlashDeliveryOrder second = new FlashDeliveryOrder();
- second.setId(2L);
- when(service.scheduledAvailabilityCandidates(any(Date.class), anyInt()))
- .thenReturn(List.of(first, second));
- new FlashDeliveryAvailabilityTask(service).openScheduledOrders();
- verify(service).openScheduledOrderForRiders(org.mockito.ArgumentMatchers.eq(1L), any(Date.class));
- verify(service).openScheduledOrderForRiders(org.mockito.ArgumentMatchers.eq(2L), any(Date.class));
- }
- @Test
- void oneFailedScheduledOrderDoesNotStopRemainingOrders() {
- FlashDeliveryApplicationService service = mock(FlashDeliveryApplicationService.class);
- FlashDeliveryOrder first = new FlashDeliveryOrder();
- first.setId(1L);
- FlashDeliveryOrder second = new FlashDeliveryOrder();
- second.setId(2L);
- when(service.scheduledAvailabilityCandidates(any(Date.class), anyInt()))
- .thenReturn(List.of(first, second));
- doThrow(new IllegalStateException("one bad row"))
- .when(service).openScheduledOrderForRiders(org.mockito.ArgumentMatchers.eq(1L), any(Date.class));
- ch.qos.logback.classic.Logger logger = (ch.qos.logback.classic.Logger)
- org.slf4j.LoggerFactory.getLogger(FlashDeliveryAvailabilityTask.class);
- ch.qos.logback.classic.Level previous = logger.getLevel();
- logger.setLevel(ch.qos.logback.classic.Level.OFF);
- try {
- new FlashDeliveryAvailabilityTask(service).openScheduledOrders();
- } finally {
- logger.setLevel(previous);
- }
- verify(service).openScheduledOrderForRiders(org.mockito.ArgumentMatchers.eq(2L), any(Date.class));
- }
- }
|