|
@@ -1,5 +1,6 @@
|
|
|
package cn.iocoder.yudao.module.promotion.service.coupon;
|
|
|
|
|
|
+import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
|
|
|
import cn.iocoder.yudao.module.promotion.controller.admin.coupon.vo.CouponTemplateCreateReqVO;
|
|
@@ -7,13 +8,17 @@ import cn.iocoder.yudao.module.promotion.controller.admin.coupon.vo.CouponTempla
|
|
|
import cn.iocoder.yudao.module.promotion.controller.admin.coupon.vo.CouponTemplateUpdateReqVO;
|
|
|
import cn.iocoder.yudao.module.promotion.dal.dataobject.coupon.CouponTemplateDO;
|
|
|
import cn.iocoder.yudao.module.promotion.dal.mysql.coupon.CouponTemplateMapper;
|
|
|
-import org.junit.jupiter.api.Disabled;
|
|
|
+import cn.iocoder.yudao.module.promotion.enums.common.PromotionDiscountTypeEnum;
|
|
|
+import cn.iocoder.yudao.module.promotion.enums.common.PromotionProductScopeEnum;
|
|
|
+import cn.iocoder.yudao.module.promotion.enums.coupon.CouponTemplateValidityTypeEnum;
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
import org.springframework.context.annotation.Import;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.Date;
|
|
|
|
|
|
+import static cn.hutool.core.util.RandomUtil.randomEle;
|
|
|
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.buildTime;
|
|
|
import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
|
|
|
import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
|
|
|
import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
|
|
@@ -39,7 +44,10 @@ public class CouponTemplateServiceImplTest extends BaseDbUnitTest {
|
|
|
@Test
|
|
|
public void testCreateCouponTemplate_success() {
|
|
|
// 准备参数
|
|
|
- CouponTemplateCreateReqVO reqVO = randomPojo(CouponTemplateCreateReqVO.class);
|
|
|
+ CouponTemplateCreateReqVO reqVO = randomPojo(CouponTemplateCreateReqVO.class,
|
|
|
+ o -> o.setProductScope(randomEle(PromotionProductScopeEnum.values()).getScope())
|
|
|
+ .setValidityType(randomEle(CouponTemplateValidityTypeEnum.values()).getType())
|
|
|
+ .setDiscountType(randomEle(PromotionDiscountTypeEnum.values()).getType()));
|
|
|
|
|
|
// 调用
|
|
|
Long couponTemplateId = couponTemplateService.createCouponTemplate(reqVO);
|
|
@@ -58,6 +66,10 @@ public class CouponTemplateServiceImplTest extends BaseDbUnitTest {
|
|
|
// 准备参数
|
|
|
CouponTemplateUpdateReqVO reqVO = randomPojo(CouponTemplateUpdateReqVO.class, o -> {
|
|
|
o.setId(dbCouponTemplate.getId()); // 设置更新的 ID
|
|
|
+ // 其它通用字段
|
|
|
+ o.setProductScope(randomEle(PromotionProductScopeEnum.values()).getScope())
|
|
|
+ .setValidityType(randomEle(CouponTemplateValidityTypeEnum.values()).getType())
|
|
|
+ .setDiscountType(randomEle(PromotionDiscountTypeEnum.values()).getType());
|
|
|
});
|
|
|
|
|
|
// 调用
|
|
@@ -100,30 +112,29 @@ public class CouponTemplateServiceImplTest extends BaseDbUnitTest {
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
- @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
|
|
|
public void testGetCouponTemplatePage() {
|
|
|
// mock 数据
|
|
|
CouponTemplateDO dbCouponTemplate = randomPojo(CouponTemplateDO.class, o -> { // 等会查询到
|
|
|
- o.setName(null);
|
|
|
- o.setStatus(null);
|
|
|
- o.setDiscountType(null);
|
|
|
- o.setCreateTime(null);
|
|
|
+ o.setName("芋艿");
|
|
|
+ o.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
|
|
+ o.setDiscountType(PromotionDiscountTypeEnum.PERCENT.getType());
|
|
|
+ o.setCreateTime(buildTime(2022, 2, 2));
|
|
|
});
|
|
|
couponTemplateMapper.insert(dbCouponTemplate);
|
|
|
// 测试 name 不匹配
|
|
|
- couponTemplateMapper.insert(cloneIgnoreId(dbCouponTemplate, o -> o.setName(null)));
|
|
|
+ couponTemplateMapper.insert(cloneIgnoreId(dbCouponTemplate, o -> o.setName("土豆")));
|
|
|
// 测试 status 不匹配
|
|
|
- couponTemplateMapper.insert(cloneIgnoreId(dbCouponTemplate, o -> o.setStatus(null)));
|
|
|
+ couponTemplateMapper.insert(cloneIgnoreId(dbCouponTemplate, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
|
|
|
// 测试 type 不匹配
|
|
|
- couponTemplateMapper.insert(cloneIgnoreId(dbCouponTemplate, o -> o.setDiscountType(null)));
|
|
|
+ couponTemplateMapper.insert(cloneIgnoreId(dbCouponTemplate, o -> o.setDiscountType(PromotionDiscountTypeEnum.PRICE.getType())));
|
|
|
// 测试 createTime 不匹配
|
|
|
- couponTemplateMapper.insert(cloneIgnoreId(dbCouponTemplate, o -> o.setCreateTime(null)));
|
|
|
+ couponTemplateMapper.insert(cloneIgnoreId(dbCouponTemplate, o -> o.setCreateTime(buildTime(2022, 1, 1))));
|
|
|
// 准备参数
|
|
|
CouponTemplatePageReqVO reqVO = new CouponTemplatePageReqVO();
|
|
|
- reqVO.setName(null);
|
|
|
- reqVO.setStatus(null);
|
|
|
- reqVO.setDiscountType(null);
|
|
|
- reqVO.setCreateTime((new Date[]{}));
|
|
|
+ reqVO.setName("芋艿");
|
|
|
+ reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
|
|
+ reqVO.setDiscountType(PromotionDiscountTypeEnum.PERCENT.getType());
|
|
|
+ reqVO.setCreateTime((new Date[]{buildTime(2022, 2, 1), buildTime(2022, 2, 3)}));
|
|
|
|
|
|
// 调用
|
|
|
PageResult<CouponTemplateDO> pageResult = couponTemplateService.getCouponTemplatePage(reqVO);
|