package com.ruoyi.order.service.impl;
|
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.web.page.PageInfo;
|
import com.ruoyi.order.dto.PayOrderDto;
|
import com.ruoyi.order.dto.PayOrderQueryDto;
|
import com.ruoyi.order.mapper.TChargingOrderMapper;
|
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.Test;
|
import org.springframework.test.util.ReflectionTestUtils;
|
|
import java.util.Collections;
|
|
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.never;
|
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.when;
|
|
class InvoicePayOrderQueryTest {
|
private TChargingOrderServiceImpl service;
|
private TChargingOrderMapper mapper;
|
|
@BeforeEach
|
void setUp() {
|
service = new TChargingOrderServiceImpl();
|
mapper = mock(TChargingOrderMapper.class);
|
ReflectionTestUtils.setField(service, "baseMapper", mapper);
|
}
|
|
@Test
|
void invoiceWithoutOrderDetailsReturnsEmptyInsteadOfAllOrders() {
|
PayOrderQueryDto query = new PayOrderQueryDto();
|
query.setInvoiceId(1001L);
|
query.setIds(Collections.emptyList());
|
|
R<PageInfo<PayOrderDto>> result = service.payOrderQuery(query);
|
|
assertNotNull(result.getData());
|
assertTrue(result.getData().getRecords().isEmpty());
|
verify(mapper, never()).payOrderQuery(any(), any());
|
}
|
|
@Test
|
void ordinaryPayOrderQueryStillUsesMapperWithoutInvoiceId() {
|
PayOrderQueryDto query = new PayOrderQueryDto();
|
when(mapper.payOrderQuery(any(), any())).thenReturn(Collections.emptyList());
|
|
service.payOrderQuery(query);
|
|
verify(mapper).payOrderQuery(any(), any());
|
}
|
}
|