mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
资金管理统计接口单元测试完善
This commit is contained in:
+99
@@ -0,0 +1,99 @@
|
||||
package com.cf.imes.module.system.service.funds.statistics;
|
||||
|
||||
import com.cf.imes.framework.common.enums.StatisticsUnit;
|
||||
import com.cf.imes.framework.common.util.i18n.core.util.I18nUtils;
|
||||
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import com.cf.imes.framework.security.test.WithMockLoginUser;
|
||||
import com.cf.imes.framework.test.core.ut.BaseDbAndRedisUnitTest;
|
||||
import com.cf.imes.module.system.controller.admin.funds.organamount.vo.OrganFundsStatisticsReqVO;
|
||||
import com.cf.imes.module.system.controller.admin.statistics.vo.OrgStatusGroupStatisticsReqVO;
|
||||
import com.cf.imes.module.system.dal.dataobject.incomeandexpense.IncomeExpenseDetailsDO;
|
||||
import com.cf.imes.module.system.dal.mysql.incomeandexpense.IncomeExpenseDetailsMapper;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.test.context.bean.override.mockito.MockitoBean;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.cf.imes.framework.test.core.util.RandomUtils.randomPojo;
|
||||
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @author Gqr
|
||||
* @since 2025/12/31 15:20
|
||||
*/
|
||||
@Import(FundsStatisticsServiceImpl.class)
|
||||
public class FundsStatisticsServiceImplTest extends BaseDbAndRedisUnitTest {
|
||||
|
||||
@Resource
|
||||
private FundsStatisticsServiceImpl fundsStatisticsService;
|
||||
|
||||
@MockitoBean
|
||||
private I18nUtils i18nUtils;
|
||||
|
||||
@Resource
|
||||
private IncomeExpenseDetailsMapper incomeExpenseDetailsMapper;
|
||||
|
||||
@Test
|
||||
@WithMockLoginUser(organId = 1L)
|
||||
void should_return_consumption_trend_with_zero_filling() {
|
||||
Long organId = SecurityFrameworkUtils.getUserOrganId();
|
||||
|
||||
OrgStatusGroupStatisticsReqVO reqVO = new OrgStatusGroupStatisticsReqVO();
|
||||
reqVO.setUnit(StatisticsUnit.DAY.getValue());
|
||||
reqVO.setCreateTime(new LocalDate[]{
|
||||
LocalDate.now().minusDays(2),
|
||||
LocalDate.now().plusDays(1)
|
||||
});
|
||||
|
||||
IncomeExpenseDetailsDO pojo1 = randomPojo(IncomeExpenseDetailsDO.class, o -> {
|
||||
o.setOrganId(organId);
|
||||
o.setAmount(new BigDecimal("100"));
|
||||
o.setCreateTime(LocalDateTime.now().minusDays(2));
|
||||
});
|
||||
IncomeExpenseDetailsDO pojo2 = randomPojo(IncomeExpenseDetailsDO.class, o -> {
|
||||
o.setOrganId(organId);
|
||||
o.setAmount(new BigDecimal("200"));
|
||||
o.setCreateTime(LocalDateTime.now());
|
||||
});
|
||||
IncomeExpenseDetailsDO pojo3 = randomPojo(IncomeExpenseDetailsDO.class, o -> {
|
||||
o.setAmount(new BigDecimal("200"));
|
||||
o.setCreateTime(LocalDateTime.now());
|
||||
});
|
||||
|
||||
incomeExpenseDetailsMapper.insert(pojo1);
|
||||
incomeExpenseDetailsMapper.insert(pojo2);
|
||||
incomeExpenseDetailsMapper.insert(pojo3);
|
||||
|
||||
// when query
|
||||
Map<String, Object> result =
|
||||
fundsStatisticsService.getFunsTradeTypeGroupStatistics(reqVO);
|
||||
|
||||
// then
|
||||
List<?> xAxis = (List<?>) result.get("dateList");
|
||||
List<?> series = (List<?>) result.get("series");
|
||||
|
||||
assertEquals(4, xAxis.size());
|
||||
|
||||
Map<?, ?> seriesItem = (Map<?, ?>) series.get(0);
|
||||
BigDecimal[] data = (BigDecimal[]) seriesItem.get("data");
|
||||
|
||||
assertArrayEquals(
|
||||
new BigDecimal[]{
|
||||
new BigDecimal("100.00"),
|
||||
BigDecimal.ZERO,
|
||||
new BigDecimal("400.00"),
|
||||
BigDecimal.ZERO,
|
||||
},
|
||||
data
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user