Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
6d770bba
提交
6d770bba
authored
1月 31, 2023
作者:
YunaiV
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
完善 PostServiceImpl 单元测试
上级
7f6d64e9
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
202 行增加
和
142 行删除
+202
-142
BpmTaskAssignRuleServiceImpl.java
.../bpm/service/definition/BpmTaskAssignRuleServiceImpl.java
+1
-1
PostApi.java
...java/cn/iocoder/yudao/module/system/api/dept/PostApi.java
+1
-1
ErrorCodeConstants.java
...iocoder/yudao/module/system/enums/ErrorCodeConstants.java
+1
-1
PostApiImpl.java
.../cn/iocoder/yudao/module/system/api/dept/PostApiImpl.java
+2
-2
PostController.java
...o/module/system/controller/admin/dept/PostController.java
+2
-2
OAuth2UserController.java
.../system/controller/admin/oauth2/OAuth2UserController.java
+1
-1
UserProfileController.java
...e/system/controller/admin/user/UserProfileController.java
+1
-1
PostService.java
...iocoder/yudao/module/system/service/dept/PostService.java
+5
-5
PostServiceImpl.java
...der/yudao/module/system/service/dept/PostServiceImpl.java
+39
-39
AdminUserServiceImpl.java
...udao/module/system/service/user/AdminUserServiceImpl.java
+1
-1
DeptServiceImplTest.java
...yudao/module/system/service/dept/DeptServiceImplTest.java
+3
-3
PostServiceImplTest.java
...yudao/module/system/service/dept/PostServiceImplTest.java
+143
-83
AdminUserServiceImplTest.java
.../module/system/service/user/AdminUserServiceImplTest.java
+2
-2
没有找到文件。
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmTaskAssignRuleServiceImpl.java
浏览文件 @
6d770bba
...
...
@@ -218,7 +218,7 @@ public class BpmTaskAssignRuleServiceImpl implements BpmTaskAssignRuleService {
BpmTaskAssignRuleTypeEnum
.
DEPT_LEADER
.
getType
()))
{
deptApi
.
validateDeptList
(
options
);
}
else
if
(
Objects
.
equals
(
type
,
BpmTaskAssignRuleTypeEnum
.
POST
.
getType
()))
{
postApi
.
validPost
s
(
options
);
postApi
.
validPost
List
(
options
);
}
else
if
(
Objects
.
equals
(
type
,
BpmTaskAssignRuleTypeEnum
.
USER
.
getType
()))
{
adminUserApi
.
validUsers
(
options
);
}
else
if
(
Objects
.
equals
(
type
,
BpmTaskAssignRuleTypeEnum
.
USER_GROUP
.
getType
()))
{
...
...
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/PostApi.java
浏览文件 @
6d770bba
...
...
@@ -20,6 +20,6 @@ public interface PostApi {
@GetMapping
(
PREFIX
+
"/valid"
)
@ApiOperation
(
"校验岗位是否合法"
)
@ApiImplicitParam
(
name
=
"ids"
,
value
=
"岗位编号数组"
,
example
=
"1,2"
,
required
=
true
,
allowMultiple
=
true
)
CommonResult
<
Boolean
>
validPost
s
(
@RequestParam
(
"ids"
)
Collection
<
Long
>
ids
);
CommonResult
<
Boolean
>
validPost
List
(
@RequestParam
(
"ids"
)
Collection
<
Long
>
ids
);
}
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java
浏览文件 @
6d770bba
...
...
@@ -50,7 +50,7 @@ public interface ErrorCodeConstants {
ErrorCode
DEPT_EXITS_CHILDREN
=
new
ErrorCode
(
1002004003
,
"存在子部门,无法删除"
);
ErrorCode
DEPT_PARENT_ERROR
=
new
ErrorCode
(
1002004004
,
"不能设置自己为父部门"
);
ErrorCode
DEPT_EXISTS_USER
=
new
ErrorCode
(
1002004005
,
"部门中存在员工,无法删除"
);
ErrorCode
DEPT_NOT_ENABLE
=
new
ErrorCode
(
1002004006
,
"部门不处于开启状态,不允许选择"
);
ErrorCode
DEPT_NOT_ENABLE
=
new
ErrorCode
(
1002004006
,
"部门
({})
不处于开启状态,不允许选择"
);
ErrorCode
DEPT_PARENT_IS_CHILD
=
new
ErrorCode
(
1002004007
,
"不能设置自己的子部门为父部门"
);
// ========== 岗位模块 1002005000 ==========
...
...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/dept/PostApiImpl.java
浏览文件 @
6d770bba
...
...
@@ -22,8 +22,8 @@ public class PostApiImpl implements PostApi {
private
PostService
postService
;
@Override
public
CommonResult
<
Boolean
>
validPost
s
(
Collection
<
Long
>
ids
)
{
postService
.
valid
Posts
(
ids
);
public
CommonResult
<
Boolean
>
validPost
List
(
Collection
<
Long
>
ids
)
{
postService
.
valid
atePostList
(
ids
);
return
success
(
true
);
}
...
...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/PostController.java
浏览文件 @
6d770bba
...
...
@@ -72,7 +72,7 @@ public class PostController {
@ApiOperation
(
value
=
"获取岗位精简信息列表"
,
notes
=
"只包含被开启的岗位,主要用于前端的下拉选项"
)
public
CommonResult
<
List
<
PostSimpleRespVO
>>
getSimplePosts
()
{
// 获得岗位列表,只要开启状态的
List
<
PostDO
>
list
=
postService
.
getPost
s
(
null
,
Collections
.
singleton
(
CommonStatusEnum
.
ENABLE
.
getStatus
()));
List
<
PostDO
>
list
=
postService
.
getPost
List
(
null
,
Collections
.
singleton
(
CommonStatusEnum
.
ENABLE
.
getStatus
()));
// 排序后,返回给前端
list
.
sort
(
Comparator
.
comparing
(
PostDO:
:
getSort
));
return
success
(
PostConvert
.
INSTANCE
.
convertList02
(
list
));
...
...
@@ -90,7 +90,7 @@ public class PostController {
@PreAuthorize
(
"@ss.hasPermission('system:post:export')"
)
@OperateLog
(
type
=
EXPORT
)
public
void
export
(
HttpServletResponse
response
,
@Validated
PostExportReqVO
reqVO
)
throws
IOException
{
List
<
PostDO
>
posts
=
postService
.
getPost
s
(
reqVO
);
List
<
PostDO
>
posts
=
postService
.
getPost
List
(
reqVO
);
List
<
PostExcelVO
>
data
=
PostConvert
.
INSTANCE
.
convertList03
(
posts
);
// 输出
ExcelUtils
.
write
(
response
,
"岗位数据.xls"
,
"岗位列表"
,
PostExcelVO
.
class
,
data
);
...
...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/OAuth2UserController.java
浏览文件 @
6d770bba
...
...
@@ -61,7 +61,7 @@ public class OAuth2UserController {
}
// 获得岗位信息
if
(
CollUtil
.
isNotEmpty
(
user
.
getPostIds
()))
{
List
<
PostDO
>
posts
=
postService
.
getPost
s
(
user
.
getPostIds
());
List
<
PostDO
>
posts
=
postService
.
getPost
List
(
user
.
getPostIds
());
resp
.
setPosts
(
OAuth2UserConvert
.
INSTANCE
.
convertList
(
posts
));
}
return
success
(
resp
);
...
...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserProfileController.java
浏览文件 @
6d770bba
...
...
@@ -72,7 +72,7 @@ public class UserProfileController {
}
// 获得岗位信息
if
(
CollUtil
.
isNotEmpty
(
user
.
getPostIds
()))
{
List
<
PostDO
>
posts
=
postService
.
getPost
s
(
user
.
getPostIds
());
List
<
PostDO
>
posts
=
postService
.
getPost
List
(
user
.
getPostIds
());
resp
.
setPosts
(
UserConvert
.
INSTANCE
.
convertList02
(
posts
));
}
// 获得社交用户信息
...
...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dept/PostService.java
浏览文件 @
6d770bba
...
...
@@ -49,8 +49,8 @@ public interface PostService {
* @param ids 岗位编号数组。如果为空,不进行筛选
* @return 部门列表
*/
default
List
<
PostDO
>
getPost
s
(
@Nullable
Collection
<
Long
>
ids
)
{
return
getPost
s
(
ids
,
asSet
(
CommonStatusEnum
.
ENABLE
.
getStatus
(),
CommonStatusEnum
.
DISABLE
.
getStatus
()));
default
List
<
PostDO
>
getPost
List
(
@Nullable
Collection
<
Long
>
ids
)
{
return
getPost
List
(
ids
,
asSet
(
CommonStatusEnum
.
ENABLE
.
getStatus
(),
CommonStatusEnum
.
DISABLE
.
getStatus
()));
}
/**
...
...
@@ -60,7 +60,7 @@ public interface PostService {
* @param statuses 状态数组。如果为空,不进行筛选
* @return 部门列表
*/
List
<
PostDO
>
getPost
s
(
@Nullable
Collection
<
Long
>
ids
,
@Nullable
Collection
<
Integer
>
statuses
);
List
<
PostDO
>
getPost
List
(
@Nullable
Collection
<
Long
>
ids
,
@Nullable
Collection
<
Integer
>
statuses
);
/**
* 获得岗位分页列表
...
...
@@ -76,7 +76,7 @@ public interface PostService {
* @param reqVO 查询条件
* @return 部门列表
*/
List
<
PostDO
>
getPost
s
(
PostExportReqVO
reqVO
);
List
<
PostDO
>
getPost
List
(
PostExportReqVO
reqVO
);
/**
* 获得岗位信息
...
...
@@ -93,6 +93,6 @@ public interface PostService {
*
* @param ids 岗位编号数组
*/
void
valid
Posts
(
Collection
<
Long
>
ids
);
void
valid
atePostList
(
Collection
<
Long
>
ids
);
}
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dept/PostServiceImpl.java
浏览文件 @
6d770bba
...
...
@@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.system.service.dept;
import
cn.hutool.core.collection.CollUtil
;
import
cn.iocoder.yudao.framework.common.enums.CommonStatusEnum
;
import
cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil
;
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
import
cn.iocoder.yudao.module.system.controller.admin.dept.vo.post.PostCreateReqVO
;
import
cn.iocoder.yudao.module.system.controller.admin.dept.vo.post.PostExportReqVO
;
...
...
@@ -38,7 +37,8 @@ public class PostServiceImpl implements PostService {
@Override
public
Long
createPost
(
PostCreateReqVO
reqVO
)
{
// 校验正确性
this
.
checkCreateOrUpdate
(
null
,
reqVO
.
getName
(),
reqVO
.
getCode
());
validatePostForCreateOrUpdate
(
null
,
reqVO
.
getName
(),
reqVO
.
getCode
());
// 插入岗位
PostDO
post
=
PostConvert
.
INSTANCE
.
convert
(
reqVO
);
postMapper
.
insert
(
post
);
...
...
@@ -48,7 +48,8 @@ public class PostServiceImpl implements PostService {
@Override
public
void
updatePost
(
PostUpdateReqVO
reqVO
)
{
// 校验正确性
this
.
checkCreateOrUpdate
(
reqVO
.
getId
(),
reqVO
.
getName
(),
reqVO
.
getCode
());
validatePostForCreateOrUpdate
(
reqVO
.
getId
(),
reqVO
.
getName
(),
reqVO
.
getCode
());
// 更新岗位
PostDO
updateObj
=
PostConvert
.
INSTANCE
.
convert
(
reqVO
);
postMapper
.
updateById
(
updateObj
);
...
...
@@ -57,80 +58,79 @@ public class PostServiceImpl implements PostService {
@Override
public
void
deletePost
(
Long
id
)
{
// 校验是否存在
this
.
check
PostExists
(
id
);
validate
PostExists
(
id
);
// 删除部门
postMapper
.
deleteById
(
id
);
}
@Override
public
List
<
PostDO
>
getPosts
(
Collection
<
Long
>
ids
,
Collection
<
Integer
>
statuses
)
{
return
postMapper
.
selectList
(
ids
,
statuses
);
}
@Override
public
PageResult
<
PostDO
>
getPostPage
(
PostPageReqVO
reqVO
)
{
return
postMapper
.
selectPage
(
reqVO
);
}
@Override
public
List
<
PostDO
>
getPosts
(
PostExportReqVO
reqVO
)
{
return
postMapper
.
selectList
(
reqVO
);
}
@Override
public
PostDO
getPost
(
Long
id
)
{
return
postMapper
.
selectById
(
id
);
}
private
void
checkCreateOrUpdate
(
Long
id
,
String
name
,
String
code
)
{
private
void
validatePostForCreateOrUpdate
(
Long
id
,
String
name
,
String
code
)
{
// 校验自己存在
check
PostExists
(
id
);
validate
PostExists
(
id
);
// 校验岗位名的唯一性
check
PostNameUnique
(
id
,
name
);
validate
PostNameUnique
(
id
,
name
);
// 校验岗位编码的唯一性
check
PostCodeUnique
(
id
,
code
);
validate
PostCodeUnique
(
id
,
code
);
}
private
void
check
PostNameUnique
(
Long
id
,
String
name
)
{
private
void
validate
PostNameUnique
(
Long
id
,
String
name
)
{
PostDO
post
=
postMapper
.
selectByName
(
name
);
if
(
post
==
null
)
{
return
;
}
// 如果 id 为空,说明不用比较是否为相同 id 的岗位
if
(
id
==
null
)
{
throw
ServiceExceptionUtil
.
exception
(
POST_NAME_DUPLICATE
);
throw
exception
(
POST_NAME_DUPLICATE
);
}
if
(!
post
.
getId
().
equals
(
id
))
{
throw
ServiceExceptionUtil
.
exception
(
POST_NAME_DUPLICATE
);
throw
exception
(
POST_NAME_DUPLICATE
);
}
}
private
void
check
PostCodeUnique
(
Long
id
,
String
code
)
{
private
void
validate
PostCodeUnique
(
Long
id
,
String
code
)
{
PostDO
post
=
postMapper
.
selectByCode
(
code
);
if
(
post
==
null
)
{
return
;
}
// 如果 id 为空,说明不用比较是否为相同 id 的岗位
if
(
id
==
null
)
{
throw
ServiceExceptionUtil
.
exception
(
POST_CODE_DUPLICATE
);
throw
exception
(
POST_CODE_DUPLICATE
);
}
if
(!
post
.
getId
().
equals
(
id
))
{
throw
ServiceExceptionUtil
.
exception
(
POST_CODE_DUPLICATE
);
throw
exception
(
POST_CODE_DUPLICATE
);
}
}
private
void
check
PostExists
(
Long
id
)
{
private
void
validate
PostExists
(
Long
id
)
{
if
(
id
==
null
)
{
return
;
}
PostDO
post
=
postMapper
.
selectById
(
id
);
if
(
post
==
null
)
{
throw
ServiceExceptionUtil
.
exception
(
POST_NOT_FOUND
);
if
(
postMapper
.
selectById
(
id
)
==
null
)
{
throw
exception
(
POST_NOT_FOUND
);
}
}
@Override
public
void
validPosts
(
Collection
<
Long
>
ids
)
{
public
List
<
PostDO
>
getPostList
(
Collection
<
Long
>
ids
,
Collection
<
Integer
>
statuses
)
{
return
postMapper
.
selectList
(
ids
,
statuses
);
}
@Override
public
PageResult
<
PostDO
>
getPostPage
(
PostPageReqVO
reqVO
)
{
return
postMapper
.
selectPage
(
reqVO
);
}
@Override
public
List
<
PostDO
>
getPostList
(
PostExportReqVO
reqVO
)
{
return
postMapper
.
selectList
(
reqVO
);
}
@Override
public
PostDO
getPost
(
Long
id
)
{
return
postMapper
.
selectById
(
id
);
}
@Override
public
void
validatePostList
(
Collection
<
Long
>
ids
)
{
if
(
CollUtil
.
isEmpty
(
ids
))
{
return
;
}
...
...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java
浏览文件 @
6d770bba
...
...
@@ -318,7 +318,7 @@ public class AdminUserServiceImpl implements AdminUserService {
// 校验部门处于开启状态
deptService
.
validateDeptList
(
CollectionUtils
.
singleton
(
deptId
));
// 校验岗位处于开启状态
postService
.
valid
Posts
(
postIds
);
postService
.
valid
atePostList
(
postIds
);
}
@VisibleForTesting
...
...
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/dept/DeptServiceImplTest.java
浏览文件 @
6d770bba
...
...
@@ -187,7 +187,7 @@ public class DeptServiceImplTest extends BaseDbUnitTest {
public
void
testValidateDept_parentNotExitsForCreate
()
{
// 准备参数
DeptCreateReqVO
reqVO
=
randomPojo
(
DeptCreateReqVO
.
class
,
o
->
o
.
setStatus
(
randomCommonStatus
()));
o
->
o
.
setStatus
(
randomCommonStatus
()));
// 调用,并断言异常
assertServiceException
(()
->
deptService
.
createDept
(
reqVO
),
DEPT_PARENT_NOT_EXITS
);
...
...
@@ -203,7 +203,7 @@ public class DeptServiceImplTest extends BaseDbUnitTest {
}
@Test
public
void
testValidateDept_exitsChildrenForDelete
()
{
public
void
testValidateDept_exitsChildrenForDelete
()
{
// mock 数据
DeptDO
parentDept
=
randomPojo
(
DeptDO
.
class
,
o
->
o
.
setStatus
(
randomCommonStatus
()));
deptMapper
.
insert
(
parentDept
);
// @Sql: 先插入出一条存在的数据
...
...
@@ -337,7 +337,7 @@ public class DeptServiceImplTest extends BaseDbUnitTest {
List
<
Long
>
ids
=
singletonList
(
deptDO
.
getId
());
// 调用, 并断言异常
assertServiceException
(()
->
deptService
.
validateDeptList
(
ids
),
DEPT_NOT_ENABLE
);
assertServiceException
(()
->
deptService
.
validateDeptList
(
ids
),
DEPT_NOT_ENABLE
,
deptDO
.
getName
()
);
}
@SafeVarargs
...
...
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/dept/PostServiceTest.java
→
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/dept/PostService
Impl
Test.java
浏览文件 @
6d770bba
package
cn
.
iocoder
.
yudao
.
module
.
system
.
service
.
dept
;
import
cn.iocoder.yudao.module.system.dal.dataobject.dept.PostDO
;
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.
test.core.ut.BaseDbUnitTest
;
import
cn.iocoder.yudao.module.system.controller.admin.dept.vo.post.PostCreateReqVO
;
import
cn.iocoder.yudao.module.system.controller.admin.dept.vo.post.PostExportReqVO
;
import
cn.iocoder.yudao.module.system.controller.admin.dept.vo.post.PostPageReqVO
;
import
cn.iocoder.yudao.module.system.controller.admin.dept.vo.post.PostUpdateReqVO
;
import
cn.iocoder.yudao.module.system.dal.dataobject.dept.PostDO
;
import
cn.iocoder.yudao.module.system.dal.mysql.dept.PostMapper
;
import
cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest
;
import
org.junit.jupiter.api.Test
;
import
org.springframework.context.annotation.Import
;
import
javax.annotation.Resource
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.function.Consumer
;
import
static
cn
.
hutool
.
core
.
util
.
RandomUtil
.
randomEle
;
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
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
test
.
core
.
util
.
RandomUtils
.
randomLongId
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
test
.
core
.
util
.
RandomUtils
.
randomPojo
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
test
.
core
.
util
.
RandomUtils
.*;
import
static
cn
.
iocoder
.
yudao
.
module
.
system
.
enums
.
ErrorCodeConstants
.*;
import
static
java
.
util
.
Collections
.
singletonList
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.*;
/**
* {@link PostServiceImpl} 的单元测试类
*
* @author niudehua
*/
@Import
(
PostServiceImpl
.
class
)
public
class
PostServiceTest
extends
BaseDbUnitTest
{
public
class
PostService
Impl
Test
extends
BaseDbUnitTest
{
@Resource
private
PostServiceImpl
postService
;
@Resource
private
PostMapper
postMapper
;
@Test
void
testPagePosts
()
{
public
void
testCreatePost_success
()
{
// 准备参数
PostCreateReqVO
reqVO
=
randomPojo
(
PostCreateReqVO
.
class
,
o
->
o
.
setStatus
(
randomEle
(
CommonStatusEnum
.
values
()).
getStatus
()));
// 调用
Long
postId
=
postService
.
createPost
(
reqVO
);
// 断言
assertNotNull
(
postId
);
// 校验记录的属性是否正确
PostDO
post
=
postMapper
.
selectById
(
postId
);
assertPojoEquals
(
reqVO
,
post
);
}
@Test
public
void
testUpdatePost_success
()
{
// mock 数据
PostDO
postDO
=
randomPostDO
();
postMapper
.
insert
(
postDO
);
// @Sql: 先插入出一条存在的数据
// 准备参数
PostUpdateReqVO
reqVO
=
randomPojo
(
PostUpdateReqVO
.
class
,
o
->
{
// 设置更新的 ID
o
.
setId
(
postDO
.
getId
());
o
.
setStatus
(
randomEle
(
CommonStatusEnum
.
values
()).
getStatus
());
});
// 调用
postService
.
updatePost
(
reqVO
);
// 校验是否更新正确
PostDO
post
=
postMapper
.
selectById
(
reqVO
.
getId
());
assertPojoEquals
(
reqVO
,
post
);
}
@Test
public
void
testDeletePost_success
()
{
// mock 数据
PostDO
postDO
=
randomPostDO
();
postMapper
.
insert
(
postDO
);
// 准备参数
Long
id
=
postDO
.
getId
();
// 调用
postService
.
deletePost
(
id
);
assertNull
(
postMapper
.
selectById
(
id
));
}
@Test
public
void
testValidatePost_notFoundForDelete
()
{
// 准备参数
Long
id
=
randomLongId
();
// 调用, 并断言异常
assertServiceException
(()
->
postService
.
deletePost
(
id
),
POST_NOT_FOUND
);
}
@Test
public
void
testValidatePost_nameDuplicateForCreate
()
{
// mock 数据
PostDO
postDO
=
randomPostDO
();
postMapper
.
insert
(
postDO
);
// @Sql: 先插入出一条存在的数据
// 准备参数
PostCreateReqVO
reqVO
=
randomPojo
(
PostCreateReqVO
.
class
,
// 模拟 name 重复
o
->
o
.
setName
(
postDO
.
getName
()));
assertServiceException
(()
->
postService
.
createPost
(
reqVO
),
POST_NAME_DUPLICATE
);
}
@Test
public
void
testValidatePost_codeDuplicateForUpdate
()
{
// mock 数据
PostDO
postDO
=
randomPostDO
();
postMapper
.
insert
(
postDO
);
// mock 数据:稍后模拟重复它的 code
PostDO
codePostDO
=
randomPostDO
();
postMapper
.
insert
(
codePostDO
);
// 准备参数
PostUpdateReqVO
reqVO
=
randomPojo
(
PostUpdateReqVO
.
class
,
o
->
{
// 设置更新的 ID
o
.
setId
(
postDO
.
getId
());
// 模拟 code 重复
o
.
setCode
(
codePostDO
.
getCode
());
});
// 调用, 并断言异常
assertServiceException
(()
->
postService
.
updatePost
(
reqVO
),
POST_CODE_DUPLICATE
);
}
@Test
public
void
testGetPostPage
()
{
// mock 数据
PostDO
postDO
=
randomPojo
(
PostDO
.
class
,
o
->
{
o
.
setName
(
"码仔"
);
...
...
@@ -43,10 +138,9 @@ public class PostServiceTest extends BaseDbUnitTest {
});
postMapper
.
insert
(
postDO
);
// 测试 name 不匹配
postMapper
.
insert
(
ObjectUtils
.
cloneIgnoreId
(
postDO
,
o
->
o
.
setName
(
"程序员"
)));
postMapper
.
insert
(
cloneIgnoreId
(
postDO
,
o
->
o
.
setName
(
"程序员"
)));
// 测试 status 不匹配
postMapper
.
insert
(
ObjectUtils
.
cloneIgnoreId
(
postDO
,
o
->
o
.
setStatus
(
CommonStatusEnum
.
DISABLE
.
getStatus
())));
postMapper
.
insert
(
cloneIgnoreId
(
postDO
,
o
->
o
.
setStatus
(
CommonStatusEnum
.
DISABLE
.
getStatus
())));
// 准备参数
PostPageReqVO
reqVO
=
new
PostPageReqVO
();
reqVO
.
setName
(
"码"
);
...
...
@@ -54,7 +148,6 @@ public class PostServiceTest extends BaseDbUnitTest {
// 调用
PageResult
<
PostDO
>
pageResult
=
postService
.
getPostPage
(
reqVO
);
// 断言
assertEquals
(
1
,
pageResult
.
getTotal
());
assertEquals
(
1
,
pageResult
.
getList
().
size
());
...
...
@@ -62,7 +155,7 @@ public class PostServiceTest extends BaseDbUnitTest {
}
@Test
void
testListPosts
()
{
public
void
testGetPostList_export
()
{
// mock 数据
PostDO
postDO
=
randomPojo
(
PostDO
.
class
,
o
->
{
o
.
setName
(
"码仔"
);
...
...
@@ -70,124 +163,91 @@ public class PostServiceTest extends BaseDbUnitTest {
});
postMapper
.
insert
(
postDO
);
// 测试 name 不匹配
postMapper
.
insert
(
ObjectUtils
.
cloneIgnoreId
(
postDO
,
o
->
o
.
setName
(
"程序员"
)));
postMapper
.
insert
(
cloneIgnoreId
(
postDO
,
o
->
o
.
setName
(
"程序员"
)));
// 测试 status 不匹配
postMapper
.
insert
(
ObjectUtils
.
cloneIgnoreId
(
postDO
,
o
->
o
.
setStatus
(
CommonStatusEnum
.
DISABLE
.
getStatus
())));
postMapper
.
insert
(
cloneIgnoreId
(
postDO
,
o
->
o
.
setStatus
(
CommonStatusEnum
.
DISABLE
.
getStatus
())));
// 准备参数
PostExportReqVO
reqVO
=
new
PostExportReqVO
();
reqVO
.
setName
(
"码"
);
reqVO
.
setStatus
(
CommonStatusEnum
.
ENABLE
.
getStatus
());
// 调用
List
<
PostDO
>
list
=
postService
.
getPost
s
(
reqVO
);
List
<
PostDO
>
list
=
postService
.
getPost
List
(
reqVO
);
// 断言
assertEquals
(
1
,
list
.
size
());
assertPojoEquals
(
postDO
,
list
.
get
(
0
));
}
@Test
void
testGetPo
st
()
{
public
void
testGetPostLi
st
()
{
// mock 数据
PostDO
dbPostDO
=
randomPostDO
();
postMapper
.
insert
(
dbPostDO
);
PostDO
postDO01
=
randomPojo
(
PostDO
.
class
,
o
->
o
.
setStatus
(
CommonStatusEnum
.
ENABLE
.
getStatus
()));
postMapper
.
insert
(
postDO01
);
// 测试 status 不匹配
PostDO
postDO02
=
randomPojo
(
PostDO
.
class
,
o
->
o
.
setStatus
(
CommonStatusEnum
.
DISABLE
.
getStatus
()));
postMapper
.
insert
(
postDO02
);
// 准备参数
Long
id
=
dbPostDO
.
getId
();
// 调用
PostDO
post
=
postService
.
getPost
(
id
);
// 断言
assertNotNull
(
post
);
assertPojoEquals
(
dbPostDO
,
post
);
}
List
<
Long
>
ids
=
Arrays
.
asList
(
postDO01
.
getId
(),
postDO02
.
getId
());
@Test
void
testCreatePost_success
()
{
// 准备参数
PostCreateReqVO
reqVO
=
randomPojo
(
PostCreateReqVO
.
class
,
o
->
o
.
setStatus
(
randomEle
(
CommonStatusEnum
.
values
()).
getStatus
()));
// 调用
L
ong
postId
=
postService
.
createPost
(
reqVO
);
L
ist
<
PostDO
>
list
=
postService
.
getPostList
(
ids
,
singletonList
(
CommonStatusEnum
.
ENABLE
.
getStatus
())
);
// 断言
assertNotNull
(
postId
);
// 校验记录的属性是否正确
PostDO
post
=
postMapper
.
selectById
(
postId
);
assertPojoEquals
(
reqVO
,
post
);
assertEquals
(
1
,
list
.
size
());
assertPojoEquals
(
postDO01
,
list
.
get
(
0
));
}
@Test
void
testUpdatePost_success
()
{
public
void
testGetPost
()
{
// mock 数据
PostDO
p
ostDO
=
randomPostDO
();
postMapper
.
insert
(
postDO
);
// @Sql: 先插入出一条存在的数据
PostDO
dbP
ostDO
=
randomPostDO
();
postMapper
.
insert
(
dbPostDO
);
// 准备参数
PostUpdateReqVO
reqVO
=
randomPojo
(
PostUpdateReqVO
.
class
,
o
->
{
// 设置更新的 ID
o
.
setId
(
postDO
.
getId
());
o
.
setStatus
(
randomEle
(
CommonStatusEnum
.
values
()).
getStatus
());
});
Long
id
=
dbPostDO
.
getId
();
// 调用
postService
.
updatePost
(
reqVO
);
//
校验是否更新正确
PostDO
post
=
postMapper
.
selectById
(
reqVO
.
getId
());
// 获取最新的
assertPojoEquals
(
reqV
O
,
post
);
PostDO
post
=
postService
.
getPost
(
id
);
//
断言
assertNotNull
(
post
);
assertPojoEquals
(
dbPostD
O
,
post
);
}
@Test
void
testDeletePo
st_success
()
{
public
void
testValidatePostLi
st_success
()
{
// mock 数据
PostDO
postDO
=
randomPostDO
();
PostDO
postDO
=
randomPostDO
()
.
setStatus
(
CommonStatusEnum
.
ENABLE
.
getStatus
())
;
postMapper
.
insert
(
postDO
);
// 准备参数
Long
id
=
postDO
.
getId
();
// 调用
postService
.
deletePost
(
id
);
assertNull
(
postMapper
.
selectById
(
id
));
}
List
<
Long
>
ids
=
singletonList
(
postDO
.
getId
());
@Test
void
testCheckPost_notFoundForDelete
()
{
// 准备参数
Long
id
=
randomLongId
();
// 调用, 并断言异常
assertServiceException
(()
->
postService
.
deletePost
(
id
),
POST_NOT_FOUND
);
// 调用,无需断言
postService
.
validatePostList
(
ids
);
}
@Test
void
testCheckPost_nameDuplicateForCreate
()
{
// mock 数据
PostDO
postDO
=
randomPostDO
();
postMapper
.
insert
(
postDO
);
// @Sql: 先插入出一条存在的数据
public
void
testValidatePostList_notFound
()
{
// 准备参数
PostCreateReqVO
reqVO
=
randomPojo
(
PostCreateReqVO
.
class
,
// 模拟 name 重复
o
->
o
.
setName
(
postDO
.
getName
()));
assertServiceException
(()
->
postService
.
createPost
(
reqVO
),
POST_NAME_DUPLICATE
);
List
<
Long
>
ids
=
singletonList
(
randomLongId
());
// 调用, 并断言异常
assertServiceException
(()
->
postService
.
validatePostList
(
ids
),
POST_NOT_FOUND
);
}
@Test
void
testCheckPost_codeDuplicateForUpdat
e
()
{
public
void
testValidatePostList_notEnabl
e
()
{
// mock 数据
PostDO
postDO
=
randomPostDO
();
PostDO
postDO
=
randomPostDO
()
.
setStatus
(
CommonStatusEnum
.
DISABLE
.
getStatus
())
;
postMapper
.
insert
(
postDO
);
// mock 数据 稍后模拟重复它的 code
PostDO
codePostDO
=
randomPostDO
();
postMapper
.
insert
(
codePostDO
);
// 准备参数
PostUpdateReqVO
reqVO
=
randomPojo
(
PostUpdateReqVO
.
class
,
o
->
{
// 设置更新的 ID
o
.
setId
(
postDO
.
getId
());
// 模拟 code 重复
o
.
setCode
(
codePostDO
.
getCode
());
});
List
<
Long
>
ids
=
singletonList
(
postDO
.
getId
());
// 调用, 并断言异常
assertServiceException
(()
->
postService
.
updatePost
(
reqVO
),
POST_CODE_DUPLICATE
);
assertServiceException
(()
->
postService
.
validatePostList
(
ids
),
POST_NOT_ENABLE
,
postDO
.
getName
());
}
@SafeVarargs
private
static
PostDO
randomPostDO
(
Consumer
<
PostDO
>...
consumers
)
{
Consumer
<
PostDO
>
consumer
=
(
o
)
->
{
o
.
setStatus
(
random
Ele
(
CommonStatusEnum
.
values
()).
get
Status
());
// 保证 status 的范围
o
.
setStatus
(
random
Common
Status
());
// 保证 status 的范围
};
return
randomPojo
(
PostDO
.
class
,
ArrayUtils
.
append
(
consumer
,
consumers
));
}
...
...
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImplTest.java
浏览文件 @
6d770bba
...
...
@@ -102,7 +102,7 @@ public class AdminUserServiceImplTest extends BaseDbUnitTest {
o
.
setId
(
postId
);
o
.
setStatus
(
CommonStatusEnum
.
ENABLE
.
getStatus
());
}));
when
(
postService
.
getPost
s
(
eq
(
reqVO
.
getPostIds
()),
isNull
())).
thenReturn
(
posts
);
when
(
postService
.
getPost
List
(
eq
(
reqVO
.
getPostIds
()),
isNull
())).
thenReturn
(
posts
);
// mock passwordEncoder 的方法
when
(
passwordEncoder
.
encode
(
eq
(
reqVO
.
getPassword
()))).
thenReturn
(
"yudaoyuanma"
);
...
...
@@ -160,7 +160,7 @@ public class AdminUserServiceImplTest extends BaseDbUnitTest {
o
.
setId
(
postId
);
o
.
setStatus
(
CommonStatusEnum
.
ENABLE
.
getStatus
());
}));
when
(
postService
.
getPost
s
(
eq
(
reqVO
.
getPostIds
()),
isNull
())).
thenReturn
(
posts
);
when
(
postService
.
getPost
List
(
eq
(
reqVO
.
getPostIds
()),
isNull
())).
thenReturn
(
posts
);
// 调用
userService
.
updateUser
(
reqVO
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论