Commit 4bf4432f937fdf593c745709a0d729c2c7d34f06

Authored by YunaiV
1 parent 9ea7bde7

✨ CRM:单测暂时不写

yudao-module-crm/yudao-module-crm-biz/src/test/java/cn/iocoder/yudao/module/crm/service/business/BusinessStatusTypeServiceImplTest.java deleted
1   -package cn.iocoder.yudao.module.crm.service.business;
2   -
3   -import cn.iocoder.yudao.framework.common.pojo.PageResult;
4   -import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
5   -import cn.iocoder.yudao.module.crm.controller.admin.business.vo.type.CrmBusinessStatusTypePageReqVO;
6   -import cn.iocoder.yudao.module.crm.controller.admin.business.vo.type.CrmBusinessStatusTypeSaveReqVO;
7   -import cn.iocoder.yudao.module.crm.dal.dataobject.business.CrmBusinessStatusTypeDO;
8   -import cn.iocoder.yudao.module.crm.dal.mysql.business.CrmBusinessStatusTypeMapper;
9   -import org.junit.jupiter.api.Disabled;
10   -import org.junit.jupiter.api.Test;
11   -import org.springframework.context.annotation.Import;
12   -
13   -import jakarta.annotation.Resource;
14   -
15   -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
16   -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
17   -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId;
18   -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
19   -import static cn.iocoder.yudao.module.crm.enums.ErrorCodeConstants.BUSINESS_STATUS_TYPE_NOT_EXISTS;
20   -import static org.junit.jupiter.api.Assertions.*;
21   -
22   -// TODO 芋艿:后续再 review
23   -/**
24   - * {@link CrmBusinessStatusTypeServiceImpl} 的单元测试类
25   - *
26   - * @author ljlleo
27   - */
28   -@Disabled // TODO 芋艿:后续 fix 补充的单测
29   -@Import(CrmBusinessStatusTypeServiceImpl.class)
30   -public class BusinessStatusTypeServiceImplTest extends BaseDbUnitTest {
31   -
32   - @Resource
33   - private CrmBusinessStatusTypeServiceImpl businessStatusTypeService;
34   -
35   - @Resource
36   - private CrmBusinessStatusTypeMapper businessStatusTypeMapper;
37   -
38   - @Test
39   - public void testCreateBusinessStatusType_success() {
40   - // 准备参数
41   - CrmBusinessStatusTypeSaveReqVO createReqVO = randomPojo(CrmBusinessStatusTypeSaveReqVO.class).setId(null);
42   -
43   - // 调用
44   - Long businessStatusTypeId = businessStatusTypeService.createBusinessStatusType(createReqVO);
45   - // 断言
46   - assertNotNull(businessStatusTypeId);
47   - // 校验记录的属性是否正确
48   - CrmBusinessStatusTypeDO businessStatusType = businessStatusTypeMapper.selectById(businessStatusTypeId);
49   - assertPojoEquals(createReqVO, businessStatusType, "id");
50   - }
51   -
52   - @Test
53   - public void testUpdateBusinessStatusType_success() {
54   - // mock 数据
55   - CrmBusinessStatusTypeDO dbBusinessStatusType = randomPojo(CrmBusinessStatusTypeDO.class);
56   - businessStatusTypeMapper.insert(dbBusinessStatusType);// @Sql: 先插入出一条存在的数据
57   - // 准备参数
58   - CrmBusinessStatusTypeSaveReqVO updateReqVO = randomPojo(CrmBusinessStatusTypeSaveReqVO.class, o -> {
59   - o.setId(dbBusinessStatusType.getId()); // 设置更新的 ID
60   - });
61   -
62   - // 调用
63   - businessStatusTypeService.updateBusinessStatusType(updateReqVO);
64   - // 校验是否更新正确
65   - CrmBusinessStatusTypeDO businessStatusType = businessStatusTypeMapper.selectById(updateReqVO.getId()); // 获取最新的
66   - assertPojoEquals(updateReqVO, businessStatusType);
67   - }
68   -
69   - @Test
70   - public void testUpdateBusinessStatusType_notExists() {
71   - // 准备参数
72   - CrmBusinessStatusTypeSaveReqVO updateReqVO = randomPojo(CrmBusinessStatusTypeSaveReqVO.class);
73   -
74   - // 调用, 并断言异常
75   - assertServiceException(() -> businessStatusTypeService.updateBusinessStatusType(updateReqVO), BUSINESS_STATUS_TYPE_NOT_EXISTS);
76   - }
77   -
78   - @Test
79   - public void testDeleteBusinessStatusType_success() {
80   - // mock 数据
81   - CrmBusinessStatusTypeDO dbBusinessStatusType = randomPojo(CrmBusinessStatusTypeDO.class);
82   - businessStatusTypeMapper.insert(dbBusinessStatusType);// @Sql: 先插入出一条存在的数据
83   - // 准备参数
84   - Long id = dbBusinessStatusType.getId();
85   -
86   - // 调用
87   - businessStatusTypeService.deleteBusinessStatusType(id);
88   - // 校验数据不存在了
89   - assertNull(businessStatusTypeMapper.selectById(id));
90   - }
91   -
92   - @Test
93   - public void testDeleteBusinessStatusType_notExists() {
94   - // 准备参数
95   - Long id = randomLongId();
96   -
97   - // 调用, 并断言异常
98   - assertServiceException(() -> businessStatusTypeService.deleteBusinessStatusType(id), BUSINESS_STATUS_TYPE_NOT_EXISTS);
99   - }
100   -
101   - @Test
102   - @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
103   - public void testGetBusinessStatusTypePage() {
104   - // mock 数据
105   - CrmBusinessStatusTypeDO dbBusinessStatusType = randomPojo(CrmBusinessStatusTypeDO.class, o -> { // 等会查询到
106   - });
107   - businessStatusTypeMapper.insert(dbBusinessStatusType);
108   - // 准备参数
109   - CrmBusinessStatusTypePageReqVO reqVO = new CrmBusinessStatusTypePageReqVO();
110   -
111   - // 调用
112   - PageResult<CrmBusinessStatusTypeDO> pageResult = businessStatusTypeService.getBusinessStatusTypePage(reqVO);
113   - // 断言
114   - assertEquals(1, pageResult.getTotal());
115   - assertEquals(1, pageResult.getList().size());
116   - assertPojoEquals(dbBusinessStatusType, pageResult.getList().get(0));
117   - }
118   -
119   -}
yudao-module-crm/yudao-module-crm-biz/src/test/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessServiceImplTest.java deleted
1   -package cn.iocoder.yudao.module.crm.service.business;
2   -
3   -import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
4   -import cn.iocoder.yudao.module.crm.controller.admin.business.vo.business.CrmBusinessSaveReqVO;
5   -import cn.iocoder.yudao.module.crm.dal.dataobject.business.CrmBusinessDO;
6   -import cn.iocoder.yudao.module.crm.dal.mysql.business.CrmBusinessMapper;
7   -import jakarta.annotation.Resource;
8   -import org.junit.jupiter.api.Disabled;
9   -import org.junit.jupiter.api.Test;
10   -import org.springframework.context.annotation.Import;
11   -
12   -import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
13   -import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
14   -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
15   -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
16   -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId;
17   -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
18   -import static cn.iocoder.yudao.module.crm.enums.ErrorCodeConstants.BUSINESS_NOT_EXISTS;
19   -import static org.junit.jupiter.api.Assertions.assertNotNull;
20   -import static org.junit.jupiter.api.Assertions.assertNull;
21   -
22   -/**
23   - * {@link CrmBusinessServiceImpl} 的单元测试类
24   - *
25   - * @author ljlleo
26   - */
27   -@Disabled // TODO 芋艿:后续 fix 补充的单测
28   -@Import(CrmBusinessServiceImpl.class)
29   -public class CrmBusinessServiceImplTest extends BaseDbUnitTest {
30   -
31   - @Resource
32   - private CrmBusinessServiceImpl businessService;
33   -
34   - @Resource
35   - private CrmBusinessMapper businessMapper;
36   -
37   - @Test
38   - public void testCreateBusiness_success() {
39   - // 准备参数
40   - CrmBusinessSaveReqVO reqVO = randomPojo(CrmBusinessSaveReqVO.class);
41   -
42   - // 调用
43   - Long businessId = businessService.createBusiness(reqVO, getLoginUserId());
44   - // 断言
45   - assertNotNull(businessId);
46   - // 校验记录的属性是否正确
47   - CrmBusinessDO business = businessMapper.selectById(businessId);
48   - assertPojoEquals(reqVO, business);
49   - }
50   -
51   - @Test
52   - public void testUpdateBusiness_success() {
53   - // mock 数据
54   - CrmBusinessDO dbBusiness = randomPojo(CrmBusinessDO.class);
55   - businessMapper.insert(dbBusiness);// @Sql: 先插入出一条存在的数据
56   - // 准备参数
57   - CrmBusinessSaveReqVO reqVO = randomPojo(CrmBusinessSaveReqVO.class, o -> {
58   - o.setId(dbBusiness.getId()); // 设置更新的 ID
59   - });
60   -
61   - // 调用
62   - businessService.updateBusiness(reqVO);
63   - // 校验是否更新正确
64   - CrmBusinessDO business = businessMapper.selectById(reqVO.getId()); // 获取最新的
65   - assertPojoEquals(reqVO, business);
66   - }
67   -
68   - @Test
69   - public void testUpdateBusiness_notExists() {
70   - // 准备参数
71   - CrmBusinessSaveReqVO reqVO = randomPojo(CrmBusinessSaveReqVO.class);
72   -
73   - // 调用, 并断言异常
74   - assertServiceException(() -> businessService.updateBusiness(reqVO), BUSINESS_NOT_EXISTS);
75   - }
76   -
77   - @Test
78   - public void testDeleteBusiness_success() {
79   - // mock 数据
80   - CrmBusinessDO dbBusiness = randomPojo(CrmBusinessDO.class);
81   - businessMapper.insert(dbBusiness);// @Sql: 先插入出一条存在的数据
82   - // 准备参数
83   - Long id = dbBusiness.getId();
84   -
85   - // 调用
86   - businessService.deleteBusiness(id);
87   - // 校验数据不存在了
88   - assertNull(businessMapper.selectById(id));
89   - }
90   -
91   - @Test
92   - public void testDeleteBusiness_notExists() {
93   - // 准备参数
94   - Long id = randomLongId();
95   -
96   - // 调用, 并断言异常
97   - assertServiceException(() -> businessService.deleteBusiness(id), BUSINESS_NOT_EXISTS);
98   - }
99   -
100   - @Test
101   - @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
102   - public void testGetBusinessPage() {
103   - // mock 数据
104   - CrmBusinessDO dbBusiness = randomPojo(CrmBusinessDO.class, o -> { // 等会查询到
105   - o.setName(null);
106   - o.setStatusTypeId(null);
107   - o.setStatusId(null);
108   - o.setContactNextTime(null);
109   - o.setCustomerId(null);
110   - o.setDealTime(null);
111   - o.setPrice(null);
112   - o.setDiscountPercent(null);
113   - o.setProductPrice(null);
114   - o.setRemark(null);
115   - o.setCreateTime(null);
116   - o.setEndStatus(null);
117   - o.setEndRemark(null);
118   - o.setContactLastTime(null);
119   - o.setFollowUpStatus(null);
120   - });
121   - businessMapper.insert(dbBusiness);
122   - // 测试 name 不匹配
123   - businessMapper.insert(cloneIgnoreId(dbBusiness, o -> o.setName(null)));
124   - // 测试 statusTypeId 不匹配
125   - businessMapper.insert(cloneIgnoreId(dbBusiness, o -> o.setStatusTypeId(null)));
126   - // 测试 statusId 不匹配
127   - businessMapper.insert(cloneIgnoreId(dbBusiness, o -> o.setStatusId(null)));
128   - // 测试 contactNextTime 不匹配
129   - businessMapper.insert(cloneIgnoreId(dbBusiness, o -> o.setContactNextTime(null)));
130   - // 测试 customerId 不匹配
131   - businessMapper.insert(cloneIgnoreId(dbBusiness, o -> o.setCustomerId(null)));
132   - // 测试 dealTime 不匹配
133   - businessMapper.insert(cloneIgnoreId(dbBusiness, o -> o.setDealTime(null)));
134   - // 测试 price 不匹配
135   - businessMapper.insert(cloneIgnoreId(dbBusiness, o -> o.setPrice(null)));
136   - // 测试 discountPercent 不匹配
137   - businessMapper.insert(cloneIgnoreId(dbBusiness, o -> o.setDiscountPercent(null)));
138   - // 测试 productPrice 不匹配
139   - businessMapper.insert(cloneIgnoreId(dbBusiness, o -> o.setProductPrice(null)));
140   - // 测试 remark 不匹配
141   - businessMapper.insert(cloneIgnoreId(dbBusiness, o -> o.setRemark(null)));
142   - // 测试 createTime 不匹配
143   - businessMapper.insert(cloneIgnoreId(dbBusiness, o -> o.setCreateTime(null)));
144   - // 测试 endStatus 不匹配
145   - businessMapper.insert(cloneIgnoreId(dbBusiness, o -> o.setEndStatus(null)));
146   - // 测试 endRemark 不匹配
147   - businessMapper.insert(cloneIgnoreId(dbBusiness, o -> o.setEndRemark(null)));
148   - // 测试 contactLastTime 不匹配
149   - businessMapper.insert(cloneIgnoreId(dbBusiness, o -> o.setContactLastTime(null)));
150   - // 测试 followUpStatus 不匹配
151   - businessMapper.insert(cloneIgnoreId(dbBusiness, o -> o.setFollowUpStatus(null)));
152   - //// 准备参数
153   - //CrmBusinessPageReqVO reqVO = new CrmBusinessPageReqVO();
154   - //reqVO.setName(null);
155   - //reqVO.setStatusTypeId(null);
156   - //reqVO.setStatusId(null);
157   - //reqVO.setContactNextTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
158   - //reqVO.setCustomerId(null);
159   - //reqVO.setDealTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
160   - //reqVO.setPrice(null);
161   - //reqVO.setDiscountPercent(null);
162   - //reqVO.setProductPrice(null);
163   - //reqVO.setRemark(null);
164   - //reqVO.setOwnerUserId(null);
165   - //reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
166   - //reqVO.setRoUserIds(null);
167   - //reqVO.setRwUserIds(null);
168   - //reqVO.setEndStatus(null);
169   - //reqVO.setEndRemark(null);
170   - //reqVO.setContactLastTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28));
171   - //reqVO.setFollowUpStatus(null);
172   - //
173   - //// 调用
174   - //PageResult<CrmBusinessDO> pageResult = businessService.getBusinessPage(reqVO);
175   - //// 断言
176   - //assertEquals(1, pageResult.getTotal());
177   - //assertEquals(1, pageResult.getList().size());
178   - //assertPojoEquals(dbBusiness, pageResult.getList().get(0));
179   - }
180   -
181   -}
yudao-module-crm/yudao-module-crm-biz/src/test/java/cn/iocoder/yudao/module/crm/service/clue/CrmClueServiceImplTest.java deleted
1   -package cn.iocoder.yudao.module.crm.service.clue;
2   -
3   -import cn.iocoder.yudao.framework.common.pojo.PageResult;
4   -import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
5   -import cn.iocoder.yudao.module.crm.controller.admin.clue.vo.CrmCluePageReqVO;
6   -import cn.iocoder.yudao.module.crm.controller.admin.clue.vo.CrmClueSaveReqVO;
7   -import cn.iocoder.yudao.module.crm.dal.dataobject.clue.CrmClueDO;
8   -import cn.iocoder.yudao.module.crm.dal.mysql.clue.CrmClueMapper;
9   -import jakarta.annotation.Resource;
10   -import org.junit.jupiter.api.Disabled;
11   -import org.junit.jupiter.api.Test;
12   -import org.springframework.context.annotation.Import;
13   -
14   -import java.util.List;
15   -
16   -import static cn.iocoder.yudao.framework.common.pojo.PageParam.PAGE_SIZE_NONE;
17   -import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
18   -import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
19   -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
20   -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
21   -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId;
22   -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
23   -import static cn.iocoder.yudao.module.crm.enums.ErrorCodeConstants.CLUE_NOT_EXISTS;
24   -import static org.junit.jupiter.api.Assertions.*;
25   -
26   -// TODO 芋艿:单测后续补;
27   -
28   -/**
29   - * {@link CrmClueServiceImpl} 的单元测试类
30   - *
31   - * @author Wanwan
32   - */
33   -@Disabled // TODO 芋艿:后续 fix 补充的单测
34   -@Import(CrmClueServiceImpl.class)
35   -public class CrmClueServiceImplTest extends BaseDbUnitTest {
36   -
37   - @Resource
38   - private CrmClueServiceImpl clueService;
39   -
40   - @Resource
41   - private CrmClueMapper clueMapper;
42   -
43   - @Test
44   - public void testCreateClue_success() {
45   - // 准备参数
46   - CrmClueSaveReqVO reqVO = randomPojo(CrmClueSaveReqVO.class);
47   -
48   - // 调用
49   - Long clueId = clueService.createClue(reqVO, getLoginUserId());
50   - // 断言
51   - assertNotNull(clueId);
52   - // 校验记录的属性是否正确
53   - CrmClueDO clue = clueMapper.selectById(clueId);
54   - assertPojoEquals(reqVO, clue);
55   - }
56   -
57   - @Test
58   - public void testUpdateClue_success() {
59   - // mock 数据
60   - CrmClueDO dbClue = randomPojo(CrmClueDO.class);
61   - clueMapper.insert(dbClue);// @Sql: 先插入出一条存在的数据
62   - // 准备参数
63   - CrmClueSaveReqVO reqVO = randomPojo(CrmClueSaveReqVO.class, o -> {
64   - o.setId(dbClue.getId()); // 设置更新的 ID
65   - });
66   -
67   - // 调用
68   - clueService.updateClue(reqVO);
69   - // 校验是否更新正确
70   - CrmClueDO clue = clueMapper.selectById(reqVO.getId()); // 获取最新的
71   - assertPojoEquals(reqVO, clue);
72   - }
73   -
74   - @Test
75   - public void testUpdateClue_notExists() {
76   - // 准备参数
77   - CrmClueSaveReqVO reqVO = randomPojo(CrmClueSaveReqVO.class);
78   -
79   - // 调用, 并断言异常
80   - assertServiceException(() -> clueService.updateClue(reqVO), CLUE_NOT_EXISTS);
81   - }
82   -
83   - @Test
84   - public void testDeleteClue_success() {
85   - // mock 数据
86   - CrmClueDO dbClue = randomPojo(CrmClueDO.class);
87   - clueMapper.insert(dbClue);// @Sql: 先插入出一条存在的数据
88   - // 准备参数
89   - Long id = dbClue.getId();
90   -
91   - // 调用
92   - clueService.deleteClue(id);
93   - // 校验数据不存在了
94   - assertNull(clueMapper.selectById(id));
95   - }
96   -
97   - @Test
98   - public void testDeleteClue_notExists() {
99   - // 准备参数
100   - Long id = randomLongId();
101   -
102   - // 调用, 并断言异常
103   - assertServiceException(() -> clueService.deleteClue(id), CLUE_NOT_EXISTS);
104   - }
105   -
106   - @Test
107   - @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
108   - public void testGetCluePage() {
109   - // mock 数据
110   - CrmClueDO dbClue = randomPojo(CrmClueDO.class, o -> { // 等会查询到
111   - o.setTransformStatus(null);
112   - o.setFollowUpStatus(null);
113   - o.setName(null);
114   - o.setCustomerId(null);
115   - o.setContactNextTime(null);
116   - o.setTelephone(null);
117   - o.setMobile(null);
118   - o.setAddress(null);
119   - o.setContactLastTime(null);
120   - o.setCreateTime(null);
121   - });
122   - clueMapper.insert(dbClue);
123   - // 测试 transformStatus 不匹配
124   - clueMapper.insert(cloneIgnoreId(dbClue, o -> o.setTransformStatus(null)));
125   - // 测试 followUpStatus 不匹配
126   - clueMapper.insert(cloneIgnoreId(dbClue, o -> o.setFollowUpStatus(null)));
127   - // 测试 name 不匹配
128   - clueMapper.insert(cloneIgnoreId(dbClue, o -> o.setName(null)));
129   - // 测试 customerId 不匹配
130   - clueMapper.insert(cloneIgnoreId(dbClue, o -> o.setCustomerId(null)));
131   - // 测试 contactNextTime 不匹配
132   - clueMapper.insert(cloneIgnoreId(dbClue, o -> o.setContactNextTime(null)));
133   - // 测试 telephone 不匹配
134   - clueMapper.insert(cloneIgnoreId(dbClue, o -> o.setTelephone(null)));
135   - // 测试 mobile 不匹配
136   - clueMapper.insert(cloneIgnoreId(dbClue, o -> o.setMobile(null)));
137   - // 测试 address 不匹配
138   - clueMapper.insert(cloneIgnoreId(dbClue, o -> o.setAddress(null)));
139   - // 测试 contactLastTime 不匹配
140   - clueMapper.insert(cloneIgnoreId(dbClue, o -> o.setContactLastTime(null)));
141   - // 测试 createTime 不匹配
142   - clueMapper.insert(cloneIgnoreId(dbClue, o -> o.setCreateTime(null)));
143   - // 准备参数
144   - CrmCluePageReqVO reqVO = new CrmCluePageReqVO();
145   - reqVO.setName(null);
146   - reqVO.setTelephone(null);
147   - reqVO.setMobile(null);
148   -
149   - // 调用
150   - PageResult<CrmClueDO> pageResult = clueService.getCluePage(reqVO, 1L);
151   - // 断言
152   - assertEquals(1, pageResult.getTotal());
153   - assertEquals(1, pageResult.getList().size());
154   - assertPojoEquals(dbClue, pageResult.getList().get(0));
155   - }
156   -
157   - @Test
158   - @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
159   - public void testGetClueList() {
160   - // mock 数据
161   - CrmClueDO dbClue = randomPojo(CrmClueDO.class, o -> { // 等会查询到
162   - o.setTransformStatus(null);
163   - o.setFollowUpStatus(null);
164   - o.setName(null);
165   - o.setCustomerId(null);
166   - o.setContactNextTime(null);
167   - o.setTelephone(null);
168   - o.setMobile(null);
169   - o.setAddress(null);
170   - o.setContactLastTime(null);
171   - o.setCreateTime(null);
172   - });
173   - clueMapper.insert(dbClue);
174   - // 测试 transformStatus 不匹配
175   - clueMapper.insert(cloneIgnoreId(dbClue, o -> o.setTransformStatus(null)));
176   - // 测试 followUpStatus 不匹配
177   - clueMapper.insert(cloneIgnoreId(dbClue, o -> o.setFollowUpStatus(null)));
178   - // 测试 name 不匹配
179   - clueMapper.insert(cloneIgnoreId(dbClue, o -> o.setName(null)));
180   - // 测试 customerId 不匹配
181   - clueMapper.insert(cloneIgnoreId(dbClue, o -> o.setCustomerId(null)));
182   - // 测试 contactNextTime 不匹配
183   - clueMapper.insert(cloneIgnoreId(dbClue, o -> o.setContactNextTime(null)));
184   - // 测试 telephone 不匹配
185   - clueMapper.insert(cloneIgnoreId(dbClue, o -> o.setTelephone(null)));
186   - // 测试 mobile 不匹配
187   - clueMapper.insert(cloneIgnoreId(dbClue, o -> o.setMobile(null)));
188   - // 测试 address 不匹配
189   - clueMapper.insert(cloneIgnoreId(dbClue, o -> o.setAddress(null)));
190   - // 测试 contactLastTime 不匹配
191   - clueMapper.insert(cloneIgnoreId(dbClue, o -> o.setContactLastTime(null)));
192   - // 测试 createTime 不匹配
193   - clueMapper.insert(cloneIgnoreId(dbClue, o -> o.setCreateTime(null)));
194   - // 准备参数
195   - CrmCluePageReqVO reqVO = new CrmCluePageReqVO();
196   - reqVO.setName(null);
197   - reqVO.setTelephone(null);
198   - reqVO.setMobile(null);
199   - reqVO.setPageSize(PAGE_SIZE_NONE);
200   - // 调用
201   - List<CrmClueDO> list = clueService.getCluePage(reqVO, 1L).getList();
202   - // 断言
203   - assertEquals(1, list.size());
204   - assertPojoEquals(dbClue, list.get(0));
205   - }
206   -
207   -}
yudao-module-crm/yudao-module-crm-biz/src/test/java/cn/iocoder/yudao/module/crm/service/contract/ContractServiceImplTest.java deleted
1   -package cn.iocoder.yudao.module.crm.service.contract;
2   -
3   -import cn.iocoder.yudao.framework.common.pojo.PageResult;
4   -import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
5   -import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.CrmContractPageReqVO;
6   -import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.CrmContractSaveReqVO;
7   -import cn.iocoder.yudao.module.crm.dal.dataobject.contract.CrmContractDO;
8   -import cn.iocoder.yudao.module.crm.dal.mysql.contract.CrmContractMapper;
9   -import jakarta.annotation.Resource;
10   -import org.junit.jupiter.api.Disabled;
11   -import org.junit.jupiter.api.Test;
12   -import org.springframework.context.annotation.Import;
13   -
14   -import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
15   -import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
16   -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
17   -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
18   -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId;
19   -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
20   -import static cn.iocoder.yudao.module.crm.enums.ErrorCodeConstants.CONTRACT_NOT_EXISTS;
21   -import static org.junit.jupiter.api.Assertions.*;
22   -
23   -/**
24   - * {@link CrmContractServiceImpl} 的单元测试类
25   - *
26   - * @author dhb52
27   - */
28   -@Import(CrmContractServiceImpl.class)
29   -public class ContractServiceImplTest extends BaseDbUnitTest {
30   -
31   - @Resource
32   - private CrmContractServiceImpl contractService;
33   -
34   - @Resource
35   - private CrmContractMapper contractMapper;
36   -
37   - @Test
38   - public void testCreateContract_success() {
39   - // 准备参数
40   - CrmContractSaveReqVO reqVO = randomPojo(CrmContractSaveReqVO.class);
41   -
42   - // 调用
43   - Long contractId = contractService.createContract(reqVO, getLoginUserId());
44   - // 断言
45   - assertNotNull(contractId);
46   - // 校验记录的属性是否正确
47   - CrmContractDO contract = contractMapper.selectById(contractId);
48   - assertPojoEquals(reqVO, contract);
49   - }
50   -
51   - @Test
52   - public void testUpdateContract_success() {
53   - // mock 数据
54   - CrmContractDO dbContract = randomPojo(CrmContractDO.class);
55   - contractMapper.insert(dbContract);// @Sql: 先插入出一条存在的数据
56   - // 准备参数
57   - CrmContractSaveReqVO reqVO = randomPojo(CrmContractSaveReqVO.class, o -> {
58   - o.setId(dbContract.getId()); // 设置更新的 ID
59   - });
60   -
61   - // 调用
62   - contractService.updateContract(reqVO);
63   - // 校验是否更新正确
64   - CrmContractDO contract = contractMapper.selectById(reqVO.getId()); // 获取最新的
65   - assertPojoEquals(reqVO, contract);
66   - }
67   -
68   - @Test
69   - public void testUpdateContract_notExists() {
70   - // 准备参数
71   - CrmContractSaveReqVO reqVO = randomPojo(CrmContractSaveReqVO.class);
72   -
73   - // 调用, 并断言异常
74   - assertServiceException(() -> contractService.updateContract(reqVO), CONTRACT_NOT_EXISTS);
75   - }
76   -
77   - @Test
78   - public void testDeleteContract_success() {
79   - // mock 数据
80   - CrmContractDO dbContract = randomPojo(CrmContractDO.class);
81   - contractMapper.insert(dbContract);// @Sql: 先插入出一条存在的数据
82   - // 准备参数
83   - Long id = dbContract.getId();
84   -
85   - // 调用
86   - contractService.deleteContract(id);
87   - // 校验数据不存在了
88   - assertNull(contractMapper.selectById(id));
89   - }
90   -
91   - @Test
92   - public void testDeleteContract_notExists() {
93   - // 准备参数
94   - Long id = randomLongId();
95   -
96   - // 调用, 并断言异常
97   - assertServiceException(() -> contractService.deleteContract(id), CONTRACT_NOT_EXISTS);
98   - }
99   -
100   - @Test
101   - @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
102   - public void testGetContractPage() {
103   - // mock 数据
104   - CrmContractDO dbContract = randomPojo(CrmContractDO.class, o -> { // 等会查询到
105   - o.setName(null);
106   - o.setCustomerId(null);
107   - o.setBusinessId(null);
108   - o.setOrderDate(null);
109   - o.setNo(null);
110   - o.setDiscountPercent(null);
111   - o.setProductPrice(null);
112   - });
113   - contractMapper.insert(dbContract);
114   - // 测试 name 不匹配
115   - contractMapper.insert(cloneIgnoreId(dbContract, o -> o.setName(null)));
116   - // 测试 customerId 不匹配
117   - contractMapper.insert(cloneIgnoreId(dbContract, o -> o.setCustomerId(null)));
118   - // 测试 no 不匹配
119   - contractMapper.insert(cloneIgnoreId(dbContract, o -> o.setNo(null)));
120   - // 准备参数
121   - CrmContractPageReqVO reqVO = new CrmContractPageReqVO();
122   - reqVO.setName(null);
123   - reqVO.setCustomerId(null);
124   - reqVO.setBusinessId(null);
125   - reqVO.setNo(null);
126   -
127   - // 调用
128   - PageResult<CrmContractDO> pageResult = contractService.getContractPage(reqVO, getLoginUserId());
129   - // 断言
130   - assertEquals(1, pageResult.getTotal());
131   - assertEquals(1, pageResult.getList().size());
132   - assertPojoEquals(dbContract, pageResult.getList().get(0));
133   - }
134   -
135   -}
yudao-module-crm/yudao-module-crm-biz/src/test/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerServiceImplTest.java deleted
1   -package cn.iocoder.yudao.module.crm.service.customer;
2   -
3   -import cn.iocoder.yudao.framework.common.pojo.PageResult;
4   -import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
5   -import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.CrmCustomerPageReqVO;
6   -import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.CrmCustomerSaveReqVO;
7   -import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerDO;
8   -import cn.iocoder.yudao.module.crm.dal.mysql.customer.CrmCustomerMapper;
9   -import cn.iocoder.yudao.module.crm.service.permission.CrmPermissionService;
10   -import jakarta.annotation.Resource;
11   -import org.junit.jupiter.api.Disabled;
12   -import org.junit.jupiter.api.Test;
13   -import org.springframework.boot.test.mock.mockito.MockBean;
14   -import org.springframework.context.annotation.Import;
15   -
16   -import static cn.iocoder.yudao.framework.common.pojo.PageParam.PAGE_SIZE_NONE;
17   -import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
18   -import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
19   -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
20   -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
21   -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId;
22   -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
23   -import static cn.iocoder.yudao.module.crm.enums.ErrorCodeConstants.CUSTOMER_NOT_EXISTS;
24   -import static org.junit.jupiter.api.Assertions.*;
25   -
26   -// TODO 芋艿:单测后续补
27   -
28   -/**
29   - * {@link CrmCustomerServiceImpl} 的单元测试类
30   - *
31   - * @author Wanwan
32   - */
33   -@Disabled // TODO 芋艿:后续 fix 补充的单测
34   -@Import(CrmCustomerServiceImpl.class)
35   -public class CrmCustomerServiceImplTest extends BaseDbUnitTest {
36   -
37   - @Resource
38   - private CrmCustomerServiceImpl customerService;
39   -
40   - @Resource
41   - private CrmCustomerMapper customerMapper;
42   - @MockBean
43   - private CrmPermissionService permissionService;
44   -
45   - @Test
46   - public void testCreateCustomer_success() {
47   - // 准备参数
48   - CrmCustomerSaveReqVO reqVO = randomPojo(CrmCustomerSaveReqVO.class);
49   -
50   - // 调用
51   - Long customerId = customerService.createCustomer(reqVO, getLoginUserId());
52   - // 断言
53   - assertNotNull(customerId);
54   - // 校验记录的属性是否正确
55   - CrmCustomerDO customer = customerMapper.selectById(customerId);
56   - assertPojoEquals(reqVO, customer);
57   - }
58   -
59   - @Test
60   - public void testUpdateCustomer_success() {
61   - // mock 数据
62   - CrmCustomerDO dbCustomer = randomPojo(CrmCustomerDO.class);
63   - customerMapper.insert(dbCustomer);// @Sql: 先插入出一条存在的数据
64   - // 准备参数
65   - CrmCustomerSaveReqVO reqVO = randomPojo(CrmCustomerSaveReqVO.class, o -> {
66   - o.setId(dbCustomer.getId()); // 设置更新的 ID
67   - });
68   -
69   - // 调用
70   - customerService.updateCustomer(reqVO);
71   - // 校验是否更新正确
72   - CrmCustomerDO customer = customerMapper.selectById(reqVO.getId()); // 获取最新的
73   - assertPojoEquals(reqVO, customer);
74   - }
75   -
76   - @Test
77   - public void testUpdateCustomer_notExists() {
78   - // 准备参数
79   - CrmCustomerSaveReqVO reqVO = randomPojo(CrmCustomerSaveReqVO.class);
80   -
81   - // 调用, 并断言异常
82   - assertServiceException(() -> customerService.updateCustomer(reqVO), CUSTOMER_NOT_EXISTS);
83   - }
84   -
85   - @Test
86   - public void testDeleteCustomer_success() {
87   - // mock 数据
88   - CrmCustomerDO dbCustomer = randomPojo(CrmCustomerDO.class);
89   - customerMapper.insert(dbCustomer);// @Sql: 先插入出一条存在的数据
90   - // 准备参数
91   - Long id = dbCustomer.getId();
92   -
93   - // 调用
94   - customerService.deleteCustomer(id);
95   - // 校验数据不存在了
96   - assertNull(customerMapper.selectById(id));
97   - }
98   -
99   - @Test
100   - public void testDeleteCustomer_notExists() {
101   - // 准备参数
102   - Long id = randomLongId();
103   -
104   - // 调用, 并断言异常
105   - assertServiceException(() -> customerService.deleteCustomer(id), CUSTOMER_NOT_EXISTS);
106   - }
107   -
108   - @Test
109   - public void testGetCustomerPage() {
110   - // mock 数据
111   - CrmCustomerDO dbCustomer = randomPojo(CrmCustomerDO.class, o -> { // 等会查询到
112   - o.setName("张三");
113   - o.setMobile("13888888888");
114   - o.setTelephone("13888888888");
115   - o.setWebsite("https://yudao.com");
116   - });
117   - //customerMapper.insert(dbCustomer);
118   - // 测试 name 不匹配
119   - //customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setName("")));
120   - // 测试 mobile 不匹配
121   - //customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setMobile(null)));
122   - // 测试 telephone 不匹配
123   - //customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setTelephone(null)));
124   - // 测试 website 不匹配
125   - //customerMapper.insert(cloneIgnoreId(dbCustomer, o -> o.setWebsite(null)));
126   - // 准备参数
127   - CrmCustomerPageReqVO reqVO = new CrmCustomerPageReqVO();
128   - reqVO.setName("张三");
129   - reqVO.setMobile("13888888888");
130   - //reqVO.setTelephone(null);
131   - //reqVO.setWebsite(null);
132   -
133   - // 调用
134   - PageResult<CrmCustomerDO> pageResult = customerService.getCustomerPage(reqVO, 1L);
135   - // 断言
136   - //assertEquals(1, pageResult.getTotal());
137   - //assertEquals(1, pageResult.getList().size());
138   - //assertPojoEquals(dbCustomer, pageResult.getList().get(0));
139   - }
140   -
141   -}
yudao-module-crm/yudao-module-crm-biz/src/test/java/cn/iocoder/yudao/module/crm/service/customerlimitconfig/CrmCustomerLimitConfigServiceImplTest.java deleted
1   -package cn.iocoder.yudao.module.crm.service.customerlimitconfig;
2   -
3   -import cn.iocoder.yudao.framework.common.pojo.PageResult;
4   -import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
5   -import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigPageReqVO;
6   -import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigSaveReqVO;
7   -import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerLimitConfigDO;
8   -import cn.iocoder.yudao.module.crm.dal.mysql.customer.CrmCustomerLimitConfigMapper;
9   -import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerLimitConfigServiceImpl;
10   -import jakarta.annotation.Resource;
11   -import org.junit.jupiter.api.Disabled;
12   -import org.junit.jupiter.api.Test;
13   -import org.springframework.context.annotation.Import;
14   -
15   -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
16   -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
17   -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId;
18   -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
19   -import static cn.iocoder.yudao.module.crm.enums.ErrorCodeConstants.CUSTOMER_LIMIT_CONFIG_NOT_EXISTS;
20   -import static org.junit.jupiter.api.Assertions.*;
21   -
22   -// TODO 芋艿:单测后面搞
23   -/**
24   - * {@link CrmCustomerLimitConfigServiceImpl} 的单元测试类
25   - *
26   - * @author Wanwan
27   - */
28   -@Disabled // TODO 芋艿:后续 fix 补充的单测
29   -@Import(CrmCustomerLimitConfigServiceImpl.class)
30   -public class CrmCustomerLimitConfigServiceImplTest extends BaseDbUnitTest {
31   -
32   - @Resource
33   - private CrmCustomerLimitConfigServiceImpl customerLimitConfigService;
34   -
35   - @Resource
36   - private CrmCustomerLimitConfigMapper customerLimitConfigMapper;
37   -
38   - @Test
39   - public void testCreateCustomerLimitConfig_success() {
40   - // 准备参数
41   - CrmCustomerLimitConfigSaveReqVO reqVO = randomPojo(CrmCustomerLimitConfigSaveReqVO.class);
42   -
43   - // 调用
44   - Long customerLimitConfigId = customerLimitConfigService.createCustomerLimitConfig(reqVO);
45   - // 断言
46   - assertNotNull(customerLimitConfigId);
47   - // 校验记录的属性是否正确
48   - CrmCustomerLimitConfigDO customerLimitConfig = customerLimitConfigMapper.selectById(customerLimitConfigId);
49   - assertPojoEquals(reqVO, customerLimitConfig);
50   - }
51   -
52   - @Test
53   - public void testUpdateCustomerLimitConfig_success() {
54   - // mock 数据
55   - CrmCustomerLimitConfigDO dbCustomerLimitConfig = randomPojo(CrmCustomerLimitConfigDO.class);
56   - customerLimitConfigMapper.insert(dbCustomerLimitConfig);// @Sql: 先插入出一条存在的数据
57   - // 准备参数
58   - CrmCustomerLimitConfigSaveReqVO reqVO = randomPojo(CrmCustomerLimitConfigSaveReqVO.class, o -> {
59   - o.setId(dbCustomerLimitConfig.getId()); // 设置更新的 ID
60   - });
61   -
62   - // 调用
63   - customerLimitConfigService.updateCustomerLimitConfig(reqVO);
64   - // 校验是否更新正确
65   - CrmCustomerLimitConfigDO customerLimitConfig = customerLimitConfigMapper.selectById(reqVO.getId()); // 获取最新的
66   - assertPojoEquals(reqVO, customerLimitConfig);
67   - }
68   -
69   - @Test
70   - public void testUpdateCustomerLimitConfig_notExists() {
71   - // 准备参数
72   - CrmCustomerLimitConfigSaveReqVO reqVO = randomPojo(CrmCustomerLimitConfigSaveReqVO.class);
73   -
74   - // 调用, 并断言异常
75   - assertServiceException(() -> customerLimitConfigService.updateCustomerLimitConfig(reqVO), CUSTOMER_LIMIT_CONFIG_NOT_EXISTS);
76   - }
77   -
78   - @Test
79   - public void testDeleteCustomerLimitConfig_success() {
80   - // mock 数据
81   - CrmCustomerLimitConfigDO dbCustomerLimitConfig = randomPojo(CrmCustomerLimitConfigDO.class);
82   - customerLimitConfigMapper.insert(dbCustomerLimitConfig);// @Sql: 先插入出一条存在的数据
83   - // 准备参数
84   - Long id = dbCustomerLimitConfig.getId();
85   -
86   - // 调用
87   - customerLimitConfigService.deleteCustomerLimitConfig(id);
88   - // 校验数据不存在了
89   - assertNull(customerLimitConfigMapper.selectById(id));
90   - }
91   -
92   - @Test
93   - public void testDeleteCustomerLimitConfig_notExists() {
94   - // 准备参数
95   - Long id = randomLongId();
96   -
97   - // 调用, 并断言异常
98   - assertServiceException(() -> customerLimitConfigService.deleteCustomerLimitConfig(id), CUSTOMER_LIMIT_CONFIG_NOT_EXISTS);
99   - }
100   -
101   - @Test
102   - @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
103   - public void testGetCustomerLimitConfigPage() {
104   - // mock 数据
105   - CrmCustomerLimitConfigDO dbCustomerLimitConfig = randomPojo(CrmCustomerLimitConfigDO.class, o -> { // 等会查询到
106   - });
107   - customerLimitConfigMapper.insert(dbCustomerLimitConfig);
108   - // 准备参数
109   - CrmCustomerLimitConfigPageReqVO reqVO = new CrmCustomerLimitConfigPageReqVO();
110   -
111   - // 调用
112   - PageResult<CrmCustomerLimitConfigDO> pageResult = customerLimitConfigService.getCustomerLimitConfigPage(reqVO);
113   - // 断言
114   - assertEquals(1, pageResult.getTotal());
115   - assertEquals(1, pageResult.getList().size());
116   - assertPojoEquals(dbCustomerLimitConfig, pageResult.getList().get(0));
117   - }
118   -
119   -}
yudao-module-crm/yudao-module-crm-biz/src/test/java/cn/iocoder/yudao/module/crm/service/receivable/CrmCrmReceivablePlanServiceImplTest.java deleted
1   -package cn.iocoder.yudao.module.crm.service.receivable;
2   -
3   -import cn.iocoder.yudao.framework.common.pojo.PageResult;
4   -import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
5   -import cn.iocoder.yudao.module.crm.controller.admin.receivable.vo.plan.CrmReceivablePlanCreateReqVO;
6   -import cn.iocoder.yudao.module.crm.controller.admin.receivable.vo.plan.CrmReceivablePlanPageReqVO;
7   -import cn.iocoder.yudao.module.crm.controller.admin.receivable.vo.plan.CrmReceivablePlanUpdateReqVO;
8   -import cn.iocoder.yudao.module.crm.dal.dataobject.receivable.CrmReceivablePlanDO;
9   -import cn.iocoder.yudao.module.crm.dal.mysql.receivable.CrmReceivablePlanMapper;
10   -import jakarta.annotation.Resource;
11   -import org.junit.jupiter.api.Disabled;
12   -import org.junit.jupiter.api.Test;
13   -import org.springframework.context.annotation.Import;
14   -
15   -import static cn.iocoder.yudao.framework.common.pojo.PageParam.PAGE_SIZE_NONE;
16   -import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
17   -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
18   -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
19   -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId;
20   -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
21   -import static cn.iocoder.yudao.module.crm.enums.ErrorCodeConstants.RECEIVABLE_PLAN_NOT_EXISTS;
22   -import static org.junit.jupiter.api.Assertions.*;
23   -
24   -// TODO 芋艿:后续,需要补充测试用例
25   -
26   -/**
27   - * {@link CrmReceivablePlanServiceImpl} 的单元测试类
28   - *
29   - * @author 芋道源码
30   - */
31   -@Disabled // TODO 芋艿:后续 fix 补充的单测
32   -@Import(CrmReceivablePlanServiceImpl.class)
33   -public class CrmCrmReceivablePlanServiceImplTest extends BaseDbUnitTest {
34   -
35   - @Resource
36   - private CrmReceivablePlanServiceImpl receivablePlanService;
37   -
38   - @Resource
39   - private CrmReceivablePlanMapper crmReceivablePlanMapper;
40   -
41   - @Test
42   - public void testCreateReceivablePlan_success() {
43   - // 准备参数
44   - CrmReceivablePlanCreateReqVO reqVO = randomPojo(CrmReceivablePlanCreateReqVO.class);
45   -
46   - // 调用
47   - Long receivablePlanId = receivablePlanService.createReceivablePlan(reqVO, 1L);
48   - // 断言
49   - assertNotNull(receivablePlanId);
50   - // 校验记录的属性是否正确
51   - CrmReceivablePlanDO receivablePlan = crmReceivablePlanMapper.selectById(receivablePlanId);
52   - assertPojoEquals(reqVO, receivablePlan);
53   - }
54   -
55   - @Test
56   - public void testUpdateReceivablePlan_success() {
57   - // mock 数据
58   - CrmReceivablePlanDO dbReceivablePlan = randomPojo(CrmReceivablePlanDO.class);
59   - crmReceivablePlanMapper.insert(dbReceivablePlan);// @Sql: 先插入出一条存在的数据
60   - // 准备参数
61   - CrmReceivablePlanUpdateReqVO reqVO = randomPojo(CrmReceivablePlanUpdateReqVO.class, o -> {
62   - o.setId(dbReceivablePlan.getId()); // 设置更新的 ID
63   - });
64   -
65   - // 调用
66   - receivablePlanService.updateReceivablePlan(reqVO);
67   - // 校验是否更新正确
68   - CrmReceivablePlanDO receivablePlan = crmReceivablePlanMapper.selectById(reqVO.getId()); // 获取最新的
69   - assertPojoEquals(reqVO, receivablePlan);
70   - }
71   -
72   - @Test
73   - public void testUpdateReceivablePlan_notExists() {
74   - // 准备参数
75   - CrmReceivablePlanUpdateReqVO reqVO = randomPojo(CrmReceivablePlanUpdateReqVO.class);
76   -
77   - // 调用, 并断言异常
78   - assertServiceException(() -> receivablePlanService.updateReceivablePlan(reqVO), RECEIVABLE_PLAN_NOT_EXISTS);
79   - }
80   -
81   - @Test
82   - public void testDeleteReceivablePlan_success() {
83   - // mock 数据
84   - CrmReceivablePlanDO dbReceivablePlan = randomPojo(CrmReceivablePlanDO.class);
85   - crmReceivablePlanMapper.insert(dbReceivablePlan);// @Sql: 先插入出一条存在的数据
86   - // 准备参数
87   - Long id = dbReceivablePlan.getId();
88   -
89   - // 调用
90   - receivablePlanService.deleteReceivablePlan(id);
91   - // 校验数据不存在了
92   - assertNull(crmReceivablePlanMapper.selectById(id));
93   - }
94   -
95   - @Test
96   - public void testDeleteReceivablePlan_notExists() {
97   - // 准备参数
98   - Long id = randomLongId();
99   -
100   - // 调用, 并断言异常
101   - assertServiceException(() -> receivablePlanService.deleteReceivablePlan(id), RECEIVABLE_PLAN_NOT_EXISTS);
102   - }
103   -
104   - @Test
105   - @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
106   - public void testGetReceivablePlanPage() {
107   - // mock 数据
108   - CrmReceivablePlanDO dbReceivablePlan = randomPojo(CrmReceivablePlanDO.class, o -> { // 等会查询到
109   - o.setPeriod(null);
110   - o.setReturnTime(null);
111   - o.setRemindDays(null);
112   - o.setRemindTime(null);
113   - o.setCustomerId(null);
114   - o.setContractId(null);
115   - o.setOwnerUserId(null);
116   - o.setRemark(null);
117   - o.setCreateTime(null);
118   - });
119   - crmReceivablePlanMapper.insert(dbReceivablePlan);
120   - // 测试 customerId 不匹配
121   - crmReceivablePlanMapper.insert(cloneIgnoreId(dbReceivablePlan, o -> o.setCustomerId(null)));
122   - // 测试 contractId 不匹配
123   - crmReceivablePlanMapper.insert(cloneIgnoreId(dbReceivablePlan, o -> o.setContractId(null)));
124   - // 准备参数
125   - CrmReceivablePlanPageReqVO reqVO = new CrmReceivablePlanPageReqVO();
126   - reqVO.setCustomerId(null);
127   - reqVO.setContractId(null);
128   - reqVO.setPageSize(PAGE_SIZE_NONE);
129   - // 调用
130   - PageResult<CrmReceivablePlanDO> pageResult = receivablePlanService.getReceivablePlanPage(reqVO, 1L);
131   - // 断言
132   - assertEquals(1, pageResult.getTotal());
133   - assertEquals(1, pageResult.getList().size());
134   - assertPojoEquals(dbReceivablePlan, pageResult.getList().get(0));
135   - }
136   -
137   -}
yudao-module-crm/yudao-module-crm-biz/src/test/java/cn/iocoder/yudao/module/crm/service/receivable/CrmCrmReceivableServiceImplTest.java deleted
1   -package cn.iocoder.yudao.module.crm.service.receivable;
2   -
3   -import cn.iocoder.yudao.framework.common.pojo.PageResult;
4   -import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
5   -import cn.iocoder.yudao.module.crm.controller.admin.receivable.vo.receivable.CrmReceivableCreateReqVO;
6   -import cn.iocoder.yudao.module.crm.controller.admin.receivable.vo.receivable.CrmReceivablePageReqVO;
7   -import cn.iocoder.yudao.module.crm.controller.admin.receivable.vo.receivable.CrmReceivableUpdateReqVO;
8   -import cn.iocoder.yudao.module.crm.dal.dataobject.receivable.CrmReceivableDO;
9   -import cn.iocoder.yudao.module.crm.dal.mysql.receivable.CrmReceivableMapper;
10   -import jakarta.annotation.Resource;
11   -import org.junit.jupiter.api.Disabled;
12   -import org.junit.jupiter.api.Test;
13   -import org.springframework.context.annotation.Import;
14   -
15   -import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId;
16   -import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
17   -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
18   -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
19   -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId;
20   -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
21   -import static cn.iocoder.yudao.module.crm.enums.ErrorCodeConstants.RECEIVABLE_NOT_EXISTS;
22   -import static org.junit.jupiter.api.Assertions.*;
23   -
24   -// TODO 芋艿:等实现完,在校验下;
25   -/**
26   - * {@link CrmReceivableServiceImpl} 的单元测试类
27   - *
28   - * @author 赤焰
29   - */
30   -@Disabled // TODO 芋艿:后续 fix 补充的单测
31   -@Import(CrmReceivableServiceImpl.class)
32   -public class CrmCrmReceivableServiceImplTest extends BaseDbUnitTest {
33   -
34   - @Resource
35   - private CrmReceivableServiceImpl receivableService;
36   -
37   - @Resource
38   - private CrmReceivableMapper crmReceivableMapper;
39   -
40   - @Test
41   - public void testCreateReceivable_success() {
42   - // 准备参数
43   - CrmReceivableCreateReqVO reqVO = randomPojo(CrmReceivableCreateReqVO.class);
44   -
45   - // 调用
46   - Long receivableId = receivableService.createReceivable(reqVO, getLoginUserId());
47   - // 断言
48   - assertNotNull(receivableId);
49   - // 校验记录的属性是否正确
50   - CrmReceivableDO receivable = crmReceivableMapper.selectById(receivableId);
51   - assertPojoEquals(reqVO, receivable);
52   - }
53   -
54   - @Test
55   - public void testUpdateReceivable_success() {
56   - // mock 数据
57   - CrmReceivableDO dbReceivable = randomPojo(CrmReceivableDO.class);
58   - crmReceivableMapper.insert(dbReceivable);// @Sql: 先插入出一条存在的数据
59   - // 准备参数
60   - CrmReceivableUpdateReqVO reqVO = randomPojo(CrmReceivableUpdateReqVO.class, o -> {
61   - o.setId(dbReceivable.getId()); // 设置更新的 ID
62   - });
63   -
64   - // 调用
65   - receivableService.updateReceivable(reqVO);
66   - // 校验是否更新正确
67   - CrmReceivableDO receivable = crmReceivableMapper.selectById(reqVO.getId()); // 获取最新的
68   - assertPojoEquals(reqVO, receivable);
69   - }
70   -
71   - @Test
72   - public void testUpdateReceivable_notExists() {
73   - // 准备参数
74   - CrmReceivableUpdateReqVO reqVO = randomPojo(CrmReceivableUpdateReqVO.class);
75   -
76   - // 调用, 并断言异常
77   - assertServiceException(() -> receivableService.updateReceivable(reqVO), RECEIVABLE_NOT_EXISTS);
78   - }
79   -
80   - @Test
81   - public void testDeleteReceivable_success() {
82   - // mock 数据
83   - CrmReceivableDO dbReceivable = randomPojo(CrmReceivableDO.class);
84   - crmReceivableMapper.insert(dbReceivable);// @Sql: 先插入出一条存在的数据
85   - // 准备参数
86   - Long id = dbReceivable.getId();
87   -
88   - // 调用
89   - receivableService.deleteReceivable(id);
90   - // 校验数据不存在了
91   - assertNull(crmReceivableMapper.selectById(id));
92   - }
93   -
94   - @Test
95   - public void testDeleteReceivable_notExists() {
96   - // 准备参数
97   - Long id = randomLongId();
98   -
99   - // 调用, 并断言异常
100   - assertServiceException(() -> receivableService.deleteReceivable(id), RECEIVABLE_NOT_EXISTS);
101   - }
102   -
103   - @Test
104   - @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解
105   - public void testGetReceivablePage() {
106   - // mock 数据
107   - CrmReceivableDO dbReceivable = randomPojo(CrmReceivableDO.class, o -> { // 等会查询到
108   - o.setNo(null);
109   - o.setPlanId(null);
110   - o.setCustomerId(null);
111   - o.setContractId(null);
112   - o.setProcessInstanceId(null);
113   - o.setReturnTime(null);
114   - o.setReturnType(null);
115   - o.setPrice(null);
116   - o.setOwnerUserId(null);
117   - o.setSort(null);
118   - o.setAuditStatus(null);
119   - o.setRemark(null);
120   - o.setCreateTime(null);
121   - });
122   - crmReceivableMapper.insert(dbReceivable);
123   - // 测试 no 不匹配
124   - crmReceivableMapper.insert(cloneIgnoreId(dbReceivable, o -> o.setNo(null)));
125   - // 测试 planId 不匹配
126   - crmReceivableMapper.insert(cloneIgnoreId(dbReceivable, o -> o.setPlanId(null)));
127   - // 测试 customerId 不匹配
128   - crmReceivableMapper.insert(cloneIgnoreId(dbReceivable, o -> o.setCustomerId(null)));
129   - // 准备参数
130   - CrmReceivablePageReqVO reqVO = new CrmReceivablePageReqVO();
131   - reqVO.setNo(null);
132   - reqVO.setPlanId(null);
133   - reqVO.setCustomerId(null);
134   -
135   - // 调用
136   - PageResult<CrmReceivableDO> pageResult = receivableService.getReceivablePage(reqVO, 1L);
137   - // 断言
138   - assertEquals(1, pageResult.getTotal());
139   - assertEquals(1, pageResult.getList().size());
140   - assertPojoEquals(dbReceivable, pageResult.getList().get(0));
141   - }
142   -
143   -}