Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
36c8448e
提交
36c8448e
authored
2月 02, 2023
作者:
YunaiV
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
完善 SmsChannelServiceImpl 单元测试
上级
458a0427
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
45 行增加
和
42 行删除
+45
-42
SmsChannelController.java
...ule/system/controller/admin/sms/SmsChannelController.java
+1
-1
SmsChannelService.java
...er/yudao/module/system/service/sms/SmsChannelService.java
+1
-10
SmsChannelServiceImpl.java
...udao/module/system/service/sms/SmsChannelServiceImpl.java
+1
-7
SmsChannelServiceTest.java
...udao/module/system/service/sms/SmsChannelServiceTest.java
+42
-24
没有找到文件。
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsChannelController.java
浏览文件 @
36c8448e
...
...
@@ -70,7 +70,7 @@ public class SmsChannelController {
@GetMapping
(
"/list-all-simple"
)
@ApiOperation
(
value
=
"获得短信渠道精简列表"
,
notes
=
"包含被禁用的短信渠道"
)
public
CommonResult
<
List
<
SmsChannelSimpleRespVO
>>
getSimpleSmsChannel
s
()
{
public
CommonResult
<
List
<
SmsChannelSimpleRespVO
>>
getSimpleSmsChannel
List
()
{
List
<
SmsChannelDO
>
list
=
smsChannelService
.
getSmsChannelList
();
// 排序后,返回给前端
list
.
sort
(
Comparator
.
comparing
(
SmsChannelDO:
:
getId
));
...
...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsChannelService.java
浏览文件 @
36c8448e
package
cn
.
iocoder
.
yudao
.
module
.
system
.
service
.
sms
;
import
cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsChannelDO
;
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
import
cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelCreateReqVO
;
import
cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelPageReqVO
;
import
cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelUpdateReqVO
;
import
cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsChannelDO
;
import
javax.validation.Valid
;
import
java.util.Collection
;
import
java.util.List
;
/**
...
...
@@ -53,14 +52,6 @@ public interface SmsChannelService {
*/
SmsChannelDO
getSmsChannel
(
Long
id
);
/**
* 获得短信渠道列表
*
* @param ids 编号
* @return 短信渠道列表
*/
List
<
SmsChannelDO
>
getSmsChannelList
(
Collection
<
Long
>
ids
);
/**
* 获得所有短信渠道列表
*
...
...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsChannelServiceImpl.java
浏览文件 @
36c8448e
...
...
@@ -15,7 +15,6 @@ import org.springframework.stereotype.Service;
import
javax.annotation.PostConstruct
;
import
javax.annotation.Resource
;
import
java.util.Collection
;
import
java.util.List
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
common
.
exception
.
util
.
ServiceExceptionUtil
.
exception
;
...
...
@@ -81,7 +80,7 @@ public class SmsChannelServiceImpl implements SmsChannelService {
public
void
deleteSmsChannel
(
Long
id
)
{
// 校验存在
this
.
validateSmsChannelExists
(
id
);
// 校验是否有
字典数据
// 校验是否有
在使用该账号的模版
if
(
smsTemplateService
.
countByChannelId
(
id
)
>
0
)
{
throw
exception
(
SMS_CHANNEL_HAS_CHILDREN
);
}
...
...
@@ -102,11 +101,6 @@ public class SmsChannelServiceImpl implements SmsChannelService {
return
smsChannelMapper
.
selectById
(
id
);
}
@Override
public
List
<
SmsChannelDO
>
getSmsChannelList
(
Collection
<
Long
>
ids
)
{
return
smsChannelMapper
.
selectBatchIds
(
ids
);
}
@Override
public
List
<
SmsChannelDO
>
getSmsChannelList
()
{
return
smsChannelMapper
.
selectList
();
...
...
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/sms/SmsChannelServiceTest.java
浏览文件 @
36c8448e
...
...
@@ -2,8 +2,6 @@ package cn.iocoder.yudao.module.system.service.sms;
import
cn.iocoder.yudao.framework.common.enums.CommonStatusEnum
;
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
import
cn.iocoder.yudao.framework.common.util.collection.ArrayUtils
;
import
cn.iocoder.yudao.framework.common.util.object.ObjectUtils
;
import
cn.iocoder.yudao.framework.sms.core.client.SmsClientFactory
;
import
cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest
;
import
cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.SmsChannelCreateReqVO
;
...
...
@@ -17,11 +15,12 @@ import org.springframework.boot.test.mock.mockito.MockBean;
import
org.springframework.context.annotation.Import
;
import
javax.annotation.Resource
;
import
java.time.LocalDateTime
;
import
java.util.function.Consumer
;
import
static
cn
.
hutool
.
core
.
util
.
RandomUtil
.
randomEle
;
import
java.util.List
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
common
.
util
.
date
.
LocalDateTimeUtils
.
buildBetweenTime
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
common
.
util
.
date
.
LocalDateTimeUtils
.
buildTime
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
common
.
util
.
object
.
ObjectUtils
.
cloneIgnoreId
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
test
.
core
.
util
.
AssertUtils
.*;
import
static
cn
.
iocoder
.
yudao
.
framework
.
test
.
core
.
util
.
RandomUtils
.*;
import
static
cn
.
iocoder
.
yudao
.
module
.
system
.
enums
.
ErrorCodeConstants
.
SMS_CHANNEL_HAS_CHILDREN
;
...
...
@@ -49,9 +48,9 @@ public class SmsChannelServiceTest extends BaseDbUnitTest {
@Test
public
void
testInitLocalCache_success
()
{
// mock 数据
SmsChannelDO
smsChannelDO01
=
random
SmsChannelDO
(
);
SmsChannelDO
smsChannelDO01
=
random
Pojo
(
SmsChannelDO
.
class
);
smsChannelMapper
.
insert
(
smsChannelDO01
);
SmsChannelDO
smsChannelDO02
=
random
SmsChannelDO
(
);
SmsChannelDO
smsChannelDO02
=
random
Pojo
(
SmsChannelDO
.
class
);
smsChannelMapper
.
insert
(
smsChannelDO02
);
// 调用
...
...
@@ -82,7 +81,7 @@ public class SmsChannelServiceTest extends BaseDbUnitTest {
@Test
public
void
testUpdateSmsChannel_success
()
{
// mock 数据
SmsChannelDO
dbSmsChannel
=
random
SmsChannelDO
(
);
SmsChannelDO
dbSmsChannel
=
random
Pojo
(
SmsChannelDO
.
class
);
smsChannelMapper
.
insert
(
dbSmsChannel
);
// @Sql: 先插入出一条存在的数据
// 准备参数
SmsChannelUpdateReqVO
reqVO
=
randomPojo
(
SmsChannelUpdateReqVO
.
class
,
o
->
{
...
...
@@ -112,7 +111,7 @@ public class SmsChannelServiceTest extends BaseDbUnitTest {
@Test
public
void
testDeleteSmsChannel_success
()
{
// mock 数据
SmsChannelDO
dbSmsChannel
=
random
SmsChannelDO
(
);
SmsChannelDO
dbSmsChannel
=
random
Pojo
(
SmsChannelDO
.
class
);
smsChannelMapper
.
insert
(
dbSmsChannel
);
// @Sql: 先插入出一条存在的数据
// 准备参数
Long
id
=
dbSmsChannel
.
getId
();
...
...
@@ -137,7 +136,7 @@ public class SmsChannelServiceTest extends BaseDbUnitTest {
@Test
public
void
testDeleteSmsChannel_hasChildren
()
{
// mock 数据
SmsChannelDO
dbSmsChannel
=
random
SmsChannelDO
(
);
SmsChannelDO
dbSmsChannel
=
random
Pojo
(
SmsChannelDO
.
class
);
smsChannelMapper
.
insert
(
dbSmsChannel
);
// @Sql: 先插入出一条存在的数据
// 准备参数
Long
id
=
dbSmsChannel
.
getId
();
...
...
@@ -148,6 +147,35 @@ public class SmsChannelServiceTest extends BaseDbUnitTest {
assertServiceException
(()
->
smsChannelService
.
deleteSmsChannel
(
id
),
SMS_CHANNEL_HAS_CHILDREN
);
}
@Test
public
void
testGetSmsChannel
()
{
// mock 数据
SmsChannelDO
dbSmsChannel
=
randomPojo
(
SmsChannelDO
.
class
);
smsChannelMapper
.
insert
(
dbSmsChannel
);
// @Sql: 先插入出一条存在的数据
// 准备参数
Long
id
=
dbSmsChannel
.
getId
();
// 调用,并断言
assertPojoEquals
(
dbSmsChannel
,
smsChannelService
.
getSmsChannel
(
id
));
}
@Test
public
void
testGetSmsChannelList
()
{
// mock 数据
SmsChannelDO
dbSmsChannel01
=
randomPojo
(
SmsChannelDO
.
class
);
smsChannelMapper
.
insert
(
dbSmsChannel01
);
SmsChannelDO
dbSmsChannel02
=
randomPojo
(
SmsChannelDO
.
class
);
smsChannelMapper
.
insert
(
dbSmsChannel02
);
// 准备参数
// 调用
List
<
SmsChannelDO
>
list
=
smsChannelService
.
getSmsChannelList
();
// 断言
assertEquals
(
2
,
list
.
size
());
assertPojoEquals
(
dbSmsChannel01
,
list
.
get
(
0
));
assertPojoEquals
(
dbSmsChannel02
,
list
.
get
(
1
));
}
@Test
public
void
testGetSmsChannelPage
()
{
// mock 数据
...
...
@@ -158,16 +186,16 @@ public class SmsChannelServiceTest extends BaseDbUnitTest {
});
smsChannelMapper
.
insert
(
dbSmsChannel
);
// 测试 signature 不匹配
smsChannelMapper
.
insert
(
ObjectUtils
.
cloneIgnoreId
(
dbSmsChannel
,
o
->
o
.
setSignature
(
"源码"
)));
smsChannelMapper
.
insert
(
cloneIgnoreId
(
dbSmsChannel
,
o
->
o
.
setSignature
(
"源码"
)));
// 测试 status 不匹配
smsChannelMapper
.
insert
(
ObjectUtils
.
cloneIgnoreId
(
dbSmsChannel
,
o
->
o
.
setStatus
(
CommonStatusEnum
.
DISABLE
.
getStatus
())));
smsChannelMapper
.
insert
(
cloneIgnoreId
(
dbSmsChannel
,
o
->
o
.
setStatus
(
CommonStatusEnum
.
DISABLE
.
getStatus
())));
// 测试 createTime 不匹配
smsChannelMapper
.
insert
(
ObjectUtils
.
cloneIgnoreId
(
dbSmsChannel
,
o
->
o
.
setCreateTime
(
buildTime
(
2020
,
11
,
11
))));
smsChannelMapper
.
insert
(
cloneIgnoreId
(
dbSmsChannel
,
o
->
o
.
setCreateTime
(
buildTime
(
2020
,
11
,
11
))));
// 准备参数
SmsChannelPageReqVO
reqVO
=
new
SmsChannelPageReqVO
();
reqVO
.
setSignature
(
"芋道"
);
reqVO
.
setStatus
(
CommonStatusEnum
.
ENABLE
.
getStatus
());
reqVO
.
setCreateTime
(
(
new
LocalDateTime
[]{
buildTime
(
2020
,
12
,
1
),
buildTime
(
2020
,
12
,
24
)}
));
reqVO
.
setCreateTime
(
buildBetweenTime
(
2020
,
12
,
1
,
2020
,
12
,
24
));
// 调用
PageResult
<
SmsChannelDO
>
pageResult
=
smsChannelService
.
getSmsChannelPage
(
reqVO
);
...
...
@@ -177,14 +205,4 @@ public class SmsChannelServiceTest extends BaseDbUnitTest {
assertPojoEquals
(
dbSmsChannel
,
pageResult
.
getList
().
get
(
0
));
}
// ========== 随机对象 ==========
@SafeVarargs
private
static
SmsChannelDO
randomSmsChannelDO
(
Consumer
<
SmsChannelDO
>...
consumers
)
{
Consumer
<
SmsChannelDO
>
consumer
=
(
o
)
->
{
o
.
setStatus
(
randomEle
(
CommonStatusEnum
.
values
()).
getStatus
());
// 保证 status 的范围
};
return
randomPojo
(
SmsChannelDO
.
class
,
ArrayUtils
.
append
(
consumer
,
consumers
));
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论