提交 7f6d64e9 authored 作者: YunaiV's avatar YunaiV

完善 DeptServiceImpl 单元测试

上级 2edf53a4
...@@ -216,7 +216,7 @@ public class BpmTaskAssignRuleServiceImpl implements BpmTaskAssignRuleService { ...@@ -216,7 +216,7 @@ public class BpmTaskAssignRuleServiceImpl implements BpmTaskAssignRuleService {
roleApi.validRoles(options); roleApi.validRoles(options);
} else if (ObjectUtils.equalsAny(type, BpmTaskAssignRuleTypeEnum.DEPT_MEMBER.getType(), } else if (ObjectUtils.equalsAny(type, BpmTaskAssignRuleTypeEnum.DEPT_MEMBER.getType(),
BpmTaskAssignRuleTypeEnum.DEPT_LEADER.getType())) { BpmTaskAssignRuleTypeEnum.DEPT_LEADER.getType())) {
deptApi.validDepts(options); deptApi.validateDeptList(options);
} else if (Objects.equals(type, BpmTaskAssignRuleTypeEnum.POST.getType())) { } else if (Objects.equals(type, BpmTaskAssignRuleTypeEnum.POST.getType())) {
postApi.validPosts(options); postApi.validPosts(options);
} else if (Objects.equals(type, BpmTaskAssignRuleTypeEnum.USER.getType())) { } else if (Objects.equals(type, BpmTaskAssignRuleTypeEnum.USER.getType())) {
...@@ -293,7 +293,7 @@ public class BpmTaskAssignRuleServiceImpl implements BpmTaskAssignRuleService { ...@@ -293,7 +293,7 @@ public class BpmTaskAssignRuleServiceImpl implements BpmTaskAssignRuleService {
} }
private Set<Long> calculateTaskCandidateUsersByDeptLeader(BpmTaskAssignRuleDO rule) { private Set<Long> calculateTaskCandidateUsersByDeptLeader(BpmTaskAssignRuleDO rule) {
List<DeptRespDTO> depts = deptApi.getDepts(rule.getOptions()).getCheckedData(); List<DeptRespDTO> depts = deptApi.getDeptList(rule.getOptions()).getCheckedData();
return convertSet(depts, DeptRespDTO::getLeaderUserId); return convertSet(depts, DeptRespDTO::getLeaderUserId);
} }
......
...@@ -104,7 +104,7 @@ public class BpmTaskAssignRuleServiceImplTest extends BaseDbUnitTest { ...@@ -104,7 +104,7 @@ public class BpmTaskAssignRuleServiceImplTest extends BaseDbUnitTest {
// mock 方法 // mock 方法
DeptRespDTO dept1 = randomPojo(DeptRespDTO.class, o -> o.setLeaderUserId(11L)); DeptRespDTO dept1 = randomPojo(DeptRespDTO.class, o -> o.setLeaderUserId(11L));
DeptRespDTO dept2 = randomPojo(DeptRespDTO.class, o -> o.setLeaderUserId(22L)); DeptRespDTO dept2 = randomPojo(DeptRespDTO.class, o -> o.setLeaderUserId(22L));
when(deptApi.getDepts(eq(rule.getOptions()))).thenReturn(success(Arrays.asList(dept1, dept2))); when(deptApi.getDeptList(eq(rule.getOptions()))).thenReturn(success(Arrays.asList(dept1, dept2)));
mockGetUserMap(asSet(11L, 22L)); mockGetUserMap(asSet(11L, 22L));
// 调用 // 调用
......
...@@ -30,12 +30,12 @@ public interface DeptApi { ...@@ -30,12 +30,12 @@ public interface DeptApi {
@GetMapping(PREFIX + "/list") @GetMapping(PREFIX + "/list")
@ApiOperation("获得部门信息数组") @ApiOperation("获得部门信息数组")
@ApiImplicitParam(name = "ids", value = "部门编号数组", example = "1,2", required = true, allowMultiple = true) @ApiImplicitParam(name = "ids", value = "部门编号数组", example = "1,2", required = true, allowMultiple = true)
CommonResult<List<DeptRespDTO>> getDepts(@RequestParam("ids") Collection<Long> ids); CommonResult<List<DeptRespDTO>> getDeptList(@RequestParam("ids") Collection<Long> ids);
@GetMapping(PREFIX + "/valid") @GetMapping(PREFIX + "/valid")
@ApiOperation("校验部门是否合法") @ApiOperation("校验部门是否合法")
@ApiImplicitParam(name = "ids", value = "部门编号数组", example = "1,2", required = true, allowMultiple = true) @ApiImplicitParam(name = "ids", value = "部门编号数组", example = "1,2", required = true, allowMultiple = true)
CommonResult<Boolean> validDepts(@RequestParam("ids") Collection<Long> ids); CommonResult<Boolean> validateDeptList(@RequestParam("ids") Collection<Long> ids);
/** /**
* 获得指定编号的部门 Map * 获得指定编号的部门 Map
...@@ -44,7 +44,7 @@ public interface DeptApi { ...@@ -44,7 +44,7 @@ public interface DeptApi {
* @return 部门 Map * @return 部门 Map
*/ */
default Map<Long, DeptRespDTO> getDeptMap(Set<Long> ids) { default Map<Long, DeptRespDTO> getDeptMap(Set<Long> ids) {
return CollectionUtils.convertMap(getDepts(ids).getCheckedData(), DeptRespDTO::getId); return CollectionUtils.convertMap(getDeptList(ids).getCheckedData(), DeptRespDTO::getId);
} }
} }
...@@ -31,14 +31,14 @@ public class DeptApiImpl implements DeptApi { ...@@ -31,14 +31,14 @@ public class DeptApiImpl implements DeptApi {
} }
@Override @Override
public CommonResult<List<DeptRespDTO>> getDepts(Collection<Long> ids) { public CommonResult<List<DeptRespDTO>> getDeptList(Collection<Long> ids) {
List<DeptDO> depts = deptService.getDepts(ids); List<DeptDO> depts = deptService.getDeptList(ids);
return success(DeptConvert.INSTANCE.convertList03(depts)); return success(DeptConvert.INSTANCE.convertList03(depts));
} }
@Override @Override
public CommonResult<Boolean> validDepts(Collection<Long> ids) { public CommonResult<Boolean> validateDeptList(Collection<Long> ids) {
deptService.validDepts(ids); deptService.validateDeptList(ids);
return success(true); return success(true);
} }
......
...@@ -58,7 +58,7 @@ public class DeptController { ...@@ -58,7 +58,7 @@ public class DeptController {
@ApiOperation("获取部门列表") @ApiOperation("获取部门列表")
@PreAuthorize("@ss.hasPermission('system:dept:query')") @PreAuthorize("@ss.hasPermission('system:dept:query')")
public CommonResult<List<DeptRespVO>> listDepts(DeptListReqVO reqVO) { public CommonResult<List<DeptRespVO>> listDepts(DeptListReqVO reqVO) {
List<DeptDO> list = deptService.getSimpleDepts(reqVO); List<DeptDO> list = deptService.getDeptList(reqVO);
list.sort(Comparator.comparing(DeptDO::getSort)); list.sort(Comparator.comparing(DeptDO::getSort));
return success(DeptConvert.INSTANCE.convertList(list)); return success(DeptConvert.INSTANCE.convertList(list));
} }
...@@ -69,7 +69,7 @@ public class DeptController { ...@@ -69,7 +69,7 @@ public class DeptController {
// 获得部门列表,只要开启状态的 // 获得部门列表,只要开启状态的
DeptListReqVO reqVO = new DeptListReqVO(); DeptListReqVO reqVO = new DeptListReqVO();
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
List<DeptDO> list = deptService.getSimpleDepts(reqVO); List<DeptDO> list = deptService.getDeptList(reqVO);
// 排序后,返回给前端 // 排序后,返回给前端
list.sort(Comparator.comparing(DeptDO::getSort)); list.sort(Comparator.comparing(DeptDO::getSort));
return success(DeptConvert.INSTANCE.convertList02(list)); return success(DeptConvert.INSTANCE.convertList02(list));
......
...@@ -52,7 +52,7 @@ public interface DeptService { ...@@ -52,7 +52,7 @@ public interface DeptService {
* @param reqVO 筛选条件请求 VO * @param reqVO 筛选条件请求 VO
* @return 部门列表 * @return 部门列表
*/ */
List<DeptDO> getSimpleDepts(DeptListReqVO reqVO); List<DeptDO> getDeptList(DeptListReqVO reqVO);
/** /**
* 获得所有子部门,从缓存中 * 获得所有子部门,从缓存中
...@@ -61,7 +61,7 @@ public interface DeptService { ...@@ -61,7 +61,7 @@ public interface DeptService {
* @param recursive 是否递归获取所有 * @param recursive 是否递归获取所有
* @return 子部门列表 * @return 子部门列表
*/ */
List<DeptDO> getDeptsByParentIdFromCache(Long parentId, boolean recursive); List<DeptDO> getDeptListByParentIdFromCache(Long parentId, boolean recursive);
/** /**
* 获得部门信息数组 * 获得部门信息数组
...@@ -69,7 +69,21 @@ public interface DeptService { ...@@ -69,7 +69,21 @@ public interface DeptService {
* @param ids 部门编号数组 * @param ids 部门编号数组
* @return 部门信息数组 * @return 部门信息数组
*/ */
List<DeptDO> getDepts(Collection<Long> ids); List<DeptDO> getDeptList(Collection<Long> ids);
/**
* 获得指定编号的部门 Map
*
* @param ids 部门编号数组
* @return 部门 Map
*/
default Map<Long, DeptDO> getDeptMap(Collection<Long> ids) {
if (CollUtil.isEmpty(ids)) {
return Collections.emptyMap();
}
List<DeptDO> list = getDeptList(ids);
return CollectionUtils.convertMap(list, DeptDO::getId);
}
/** /**
* 获得部门信息 * 获得部门信息
...@@ -86,27 +100,6 @@ public interface DeptService { ...@@ -86,27 +100,6 @@ public interface DeptService {
* *
* @param ids 角色编号数组 * @param ids 角色编号数组
*/ */
void validDepts(Collection<Long> ids); void validateDeptList(Collection<Long> ids);
/**
* 获得指定编号的部门列表
*
* @param ids 部门编号数组
* @return 部门列表
*/
List<DeptDO> getSimpleDepts(Collection<Long> ids);
/**
* 获得指定编号的部门 Map
*
* @param ids 部门编号数组
* @return 部门 Map
*/
default Map<Long, DeptDO> getDeptMap(Collection<Long> ids) {
if (CollUtil.isEmpty(ids)) {
return Collections.emptyMap();
}
List<DeptDO> list = getSimpleDepts(ids);
return CollectionUtils.convertMap(list, DeptDO::getId);
}
} }
...@@ -2,8 +2,6 @@ package cn.iocoder.yudao.module.system.service.dept; ...@@ -2,8 +2,6 @@ package cn.iocoder.yudao.module.system.service.dept;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils; import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils;
import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptCreateReqVO; import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptCreateReqVO;
...@@ -19,13 +17,11 @@ import com.google.common.collect.ImmutableMultimap; ...@@ -19,13 +17,11 @@ import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
import lombok.Getter; import lombok.Getter;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
...@@ -95,7 +91,7 @@ public class DeptServiceImpl implements DeptService { ...@@ -95,7 +91,7 @@ public class DeptServiceImpl implements DeptService {
if (reqVO.getParentId() == null) { if (reqVO.getParentId() == null) {
reqVO.setParentId(DeptIdEnum.ROOT.getId()); reqVO.setParentId(DeptIdEnum.ROOT.getId());
} }
checkCreateOrUpdate(null, reqVO.getParentId(), reqVO.getName()); validateForCreateOrUpdate(null, reqVO.getParentId(), reqVO.getName());
// 插入部门 // 插入部门
DeptDO dept = DeptConvert.INSTANCE.convert(reqVO); DeptDO dept = DeptConvert.INSTANCE.convert(reqVO);
deptMapper.insert(dept); deptMapper.insert(dept);
...@@ -110,7 +106,7 @@ public class DeptServiceImpl implements DeptService { ...@@ -110,7 +106,7 @@ public class DeptServiceImpl implements DeptService {
if (reqVO.getParentId() == null) { if (reqVO.getParentId() == null) {
reqVO.setParentId(DeptIdEnum.ROOT.getId()); reqVO.setParentId(DeptIdEnum.ROOT.getId());
} }
checkCreateOrUpdate(reqVO.getId(), reqVO.getParentId(), reqVO.getName()); validateForCreateOrUpdate(reqVO.getId(), reqVO.getParentId(), reqVO.getName());
// 更新部门 // 更新部门
DeptDO updateObj = DeptConvert.INSTANCE.convert(reqVO); DeptDO updateObj = DeptConvert.INSTANCE.convert(reqVO);
deptMapper.updateById(updateObj); deptMapper.updateById(updateObj);
...@@ -121,10 +117,10 @@ public class DeptServiceImpl implements DeptService { ...@@ -121,10 +117,10 @@ public class DeptServiceImpl implements DeptService {
@Override @Override
public void deleteDept(Long id) { public void deleteDept(Long id) {
// 校验是否存在 // 校验是否存在
checkDeptExists(id); validateDeptExists(id);
// 校验是否有子部门 // 校验是否有子部门
if (deptMapper.selectCountByParentId(id) > 0) { if (deptMapper.selectCountByParentId(id) > 0) {
throw ServiceExceptionUtil.exception(DEPT_EXITS_CHILDREN); throw exception(DEPT_EXITS_CHILDREN);
} }
// 删除部门 // 删除部门
deptMapper.deleteById(id); deptMapper.deleteById(id);
...@@ -133,16 +129,16 @@ public class DeptServiceImpl implements DeptService { ...@@ -133,16 +129,16 @@ public class DeptServiceImpl implements DeptService {
} }
@Override @Override
public List<DeptDO> getSimpleDepts(DeptListReqVO reqVO) { public List<DeptDO> getDeptList(DeptListReqVO reqVO) {
return deptMapper.selectList(reqVO); return deptMapper.selectList(reqVO);
} }
@Override @Override
public List<DeptDO> getDeptsByParentIdFromCache(Long parentId, boolean recursive) { public List<DeptDO> getDeptListByParentIdFromCache(Long parentId, boolean recursive) {
if (parentId == null) { if (parentId == null) {
return Collections.emptyList(); return Collections.emptyList();
} }
List<DeptDO> result = new ArrayList<>(); // TODO 芋艿:待优化,新增缓存,避免每次遍历的计算 List<DeptDO> result = new ArrayList<>();
// 递归,简单粗暴 // 递归,简单粗暴
this.getDeptsByParentIdFromCache(result, parentId, this.getDeptsByParentIdFromCache(result, parentId,
recursive ? Integer.MAX_VALUE : 1, // 如果递归获取,则无限;否则,只递归 1 次 recursive ? Integer.MAX_VALUE : 1, // 如果递归获取,则无限;否则,只递归 1 次
...@@ -182,65 +178,65 @@ public class DeptServiceImpl implements DeptService { ...@@ -182,65 +178,65 @@ public class DeptServiceImpl implements DeptService {
recursiveCount - 1, parentDeptMap)); recursiveCount - 1, parentDeptMap));
} }
private void checkCreateOrUpdate(Long id, Long parentId, String name) { private void validateForCreateOrUpdate(Long id, Long parentId, String name) {
// 校验自己存在 // 校验自己存在
checkDeptExists(id); validateDeptExists(id);
// 校验父部门的有效性 // 校验父部门的有效性
checkParentDeptEnable(id, parentId); validateParentDeptEnable(id, parentId);
// 校验部门名的唯一性 // 校验部门名的唯一性
checkDeptNameUnique(id, parentId, name); validateDeptNameUnique(id, parentId, name);
} }
private void checkParentDeptEnable(Long id, Long parentId) { private void validateParentDeptEnable(Long id, Long parentId) {
if (parentId == null || DeptIdEnum.ROOT.getId().equals(parentId)) { if (parentId == null || DeptIdEnum.ROOT.getId().equals(parentId)) {
return; return;
} }
// 不能设置自己为父部门 // 不能设置自己为父部门
if (parentId.equals(id)) { if (parentId.equals(id)) {
throw ServiceExceptionUtil.exception(DEPT_PARENT_ERROR); throw exception(DEPT_PARENT_ERROR);
} }
// 父岗位不存在 // 父岗位不存在
DeptDO dept = deptMapper.selectById(parentId); DeptDO dept = deptMapper.selectById(parentId);
if (dept == null) { if (dept == null) {
throw ServiceExceptionUtil.exception(DEPT_PARENT_NOT_EXITS); throw exception(DEPT_PARENT_NOT_EXITS);
} }
// 父部门被禁用 // 父部门被禁用
if (!CommonStatusEnum.ENABLE.getStatus().equals(dept.getStatus())) { if (!CommonStatusEnum.ENABLE.getStatus().equals(dept.getStatus())) {
throw ServiceExceptionUtil.exception(DEPT_NOT_ENABLE); throw exception(DEPT_NOT_ENABLE);
} }
// 父部门不能是原来的子部门 // 父部门不能是原来的子部门
List<DeptDO> children = this.getDeptsByParentIdFromCache(id, true); List<DeptDO> children = this.getDeptListByParentIdFromCache(id, true);
if (children.stream().anyMatch(dept1 -> dept1.getId().equals(parentId))) { if (children.stream().anyMatch(dept1 -> dept1.getId().equals(parentId))) {
throw ServiceExceptionUtil.exception(DEPT_PARENT_IS_CHILD); throw exception(DEPT_PARENT_IS_CHILD);
} }
} }
private void checkDeptExists(Long id) { private void validateDeptExists(Long id) {
if (id == null) { if (id == null) {
return; return;
} }
DeptDO dept = deptMapper.selectById(id); DeptDO dept = deptMapper.selectById(id);
if (dept == null) { if (dept == null) {
throw ServiceExceptionUtil.exception(DEPT_NOT_FOUND); throw exception(DEPT_NOT_FOUND);
} }
} }
private void checkDeptNameUnique(Long id, Long parentId, String name) { private void validateDeptNameUnique(Long id, Long parentId, String name) {
DeptDO menu = deptMapper.selectByParentIdAndName(parentId, name); DeptDO menu = deptMapper.selectByParentIdAndName(parentId, name);
if (menu == null) { if (menu == null) {
return; return;
} }
// 如果 id 为空,说明不用比较是否为相同 id 的岗位 // 如果 id 为空,说明不用比较是否为相同 id 的岗位
if (id == null) { if (id == null) {
throw ServiceExceptionUtil.exception(DEPT_NAME_DUPLICATE); throw exception(DEPT_NAME_DUPLICATE);
} }
if (!menu.getId().equals(id)) { if (!menu.getId().equals(id)) {
throw ServiceExceptionUtil.exception(DEPT_NAME_DUPLICATE); throw exception(DEPT_NAME_DUPLICATE);
} }
} }
@Override @Override
public List<DeptDO> getDepts(Collection<Long> ids) { public List<DeptDO> getDeptList(Collection<Long> ids) {
return deptMapper.selectBatchIds(ids); return deptMapper.selectBatchIds(ids);
} }
...@@ -250,13 +246,12 @@ public class DeptServiceImpl implements DeptService { ...@@ -250,13 +246,12 @@ public class DeptServiceImpl implements DeptService {
} }
@Override @Override
public void validDepts(Collection<Long> ids) { public void validateDeptList(Collection<Long> ids) {
if (CollUtil.isEmpty(ids)) { if (CollUtil.isEmpty(ids)) {
return; return;
} }
// 获得科室信息 // 获得科室信息
List<DeptDO> depts = deptMapper.selectBatchIds(ids); Map<Long, DeptDO> deptMap = getDeptMap(ids);
Map<Long, DeptDO> deptMap = CollectionUtils.convertMap(depts, DeptDO::getId);
// 校验 // 校验
ids.forEach(id -> { ids.forEach(id -> {
DeptDO dept = deptMap.get(id); DeptDO dept = deptMap.get(id);
...@@ -269,9 +264,4 @@ public class DeptServiceImpl implements DeptService { ...@@ -269,9 +264,4 @@ public class DeptServiceImpl implements DeptService {
}); });
} }
@Override
public List<DeptDO> getSimpleDepts(Collection<Long> ids) {
return deptMapper.selectBatchIds(ids);
}
} }
...@@ -418,7 +418,7 @@ public class PermissionServiceImpl implements PermissionService { ...@@ -418,7 +418,7 @@ public class PermissionServiceImpl implements PermissionService {
} }
// 情况四,DEPT_DEPT_AND_CHILD // 情况四,DEPT_DEPT_AND_CHILD
if (Objects.equals(role.getDataScope(), DataScopeEnum.DEPT_AND_CHILD.getScope())) { if (Objects.equals(role.getDataScope(), DataScopeEnum.DEPT_AND_CHILD.getScope())) {
List<DeptDO> depts = deptService.getDeptsByParentIdFromCache(userDeptIdCache.get(), true); List<DeptDO> depts = deptService.getDeptListByParentIdFromCache(userDeptIdCache.get(), true);
CollUtil.addAll(result.getDeptIds(), CollectionUtils.convertList(depts, DeptDO::getId)); CollUtil.addAll(result.getDeptIds(), CollectionUtils.convertList(depts, DeptDO::getId));
// 添加本身部门编号 // 添加本身部门编号
CollUtil.addAll(result.getDeptIds(), userDeptIdCache.get()); CollUtil.addAll(result.getDeptIds(), userDeptIdCache.get());
......
...@@ -298,7 +298,7 @@ public class AdminUserServiceImpl implements AdminUserService { ...@@ -298,7 +298,7 @@ public class AdminUserServiceImpl implements AdminUserService {
if (deptId == null) { if (deptId == null) {
return Collections.emptySet(); return Collections.emptySet();
} }
Set<Long> deptIds = convertSet(deptService.getDeptsByParentIdFromCache( Set<Long> deptIds = convertSet(deptService.getDeptListByParentIdFromCache(
deptId, true), DeptDO::getId); deptId, true), DeptDO::getId);
deptIds.add(deptId); // 包括自身 deptIds.add(deptId); // 包括自身
return deptIds; return deptIds;
...@@ -316,7 +316,7 @@ public class AdminUserServiceImpl implements AdminUserService { ...@@ -316,7 +316,7 @@ public class AdminUserServiceImpl implements AdminUserService {
// 校验邮箱唯一 // 校验邮箱唯一
checkEmailUnique(id, email); checkEmailUnique(id, email);
// 校验部门处于开启状态 // 校验部门处于开启状态
deptService.validDepts(CollectionUtils.singleton(deptId)); deptService.validateDeptList(CollectionUtils.singleton(deptId));
// 校验岗位处于开启状态 // 校验岗位处于开启状态
postService.validPosts(postIds); postService.validPosts(postIds);
} }
......
...@@ -509,7 +509,7 @@ public class PermissionServiceTest extends BaseDbUnitTest { ...@@ -509,7 +509,7 @@ public class PermissionServiceTest extends BaseDbUnitTest {
when(userService.getUser(eq(1L))).thenReturn(new AdminUserDO().setDeptId(3L), null, null); // 最后返回 null 的目的,看看会不会重复调用 when(userService.getUser(eq(1L))).thenReturn(new AdminUserDO().setDeptId(3L), null, null); // 最后返回 null 的目的,看看会不会重复调用
// mock 方法(部门) // mock 方法(部门)
DeptDO deptDO = randomPojo(DeptDO.class); DeptDO deptDO = randomPojo(DeptDO.class);
when(deptService.getDeptsByParentIdFromCache(eq(3L), eq(true))) when(deptService.getDeptListByParentIdFromCache(eq(3L), eq(true)))
.thenReturn(singletonList(deptDO)); .thenReturn(singletonList(deptDO));
// 调用 // 调用
......
...@@ -300,7 +300,7 @@ public class AdminUserServiceImplTest extends BaseDbUnitTest { ...@@ -300,7 +300,7 @@ public class AdminUserServiceImplTest extends BaseDbUnitTest {
reqVO.setDeptId(1L); // 其中,1L 是 2L 的父部门 reqVO.setDeptId(1L); // 其中,1L 是 2L 的父部门
// mock 方法 // mock 方法
List<DeptDO> deptList = newArrayList(randomPojo(DeptDO.class, o -> o.setId(2L))); List<DeptDO> deptList = newArrayList(randomPojo(DeptDO.class, o -> o.setId(2L)));
when(deptService.getDeptsByParentIdFromCache(eq(reqVO.getDeptId()), eq(true))).thenReturn(deptList); when(deptService.getDeptListByParentIdFromCache(eq(reqVO.getDeptId()), eq(true))).thenReturn(deptList);
// 调用 // 调用
PageResult<AdminUserDO> pageResult = userService.getUserPage(reqVO); PageResult<AdminUserDO> pageResult = userService.getUserPage(reqVO);
...@@ -324,7 +324,7 @@ public class AdminUserServiceImplTest extends BaseDbUnitTest { ...@@ -324,7 +324,7 @@ public class AdminUserServiceImplTest extends BaseDbUnitTest {
reqVO.setDeptId(1L); // 其中,1L 是 2L 的父部门 reqVO.setDeptId(1L); // 其中,1L 是 2L 的父部门
// mock 方法 // mock 方法
List<DeptDO> deptList = newArrayList(randomPojo(DeptDO.class, o -> o.setId(2L))); List<DeptDO> deptList = newArrayList(randomPojo(DeptDO.class, o -> o.setId(2L)));
when(deptService.getDeptsByParentIdFromCache(eq(reqVO.getDeptId()), eq(true))).thenReturn(deptList); when(deptService.getDeptListByParentIdFromCache(eq(reqVO.getDeptId()), eq(true))).thenReturn(deptList);
// 调用 // 调用
List<AdminUserDO> list = userService.getUsers(reqVO); List<AdminUserDO> list = userService.getUsers(reqVO);
...@@ -368,7 +368,7 @@ public class AdminUserServiceImplTest extends BaseDbUnitTest { ...@@ -368,7 +368,7 @@ public class AdminUserServiceImplTest extends BaseDbUnitTest {
UserImportExcelVO importUser = randomPojo(UserImportExcelVO.class, o -> { UserImportExcelVO importUser = randomPojo(UserImportExcelVO.class, o -> {
}); });
// mock 方法,模拟失败 // mock 方法,模拟失败
doThrow(new ServiceException(DEPT_NOT_FOUND)).when(deptService).validDepts(any()); doThrow(new ServiceException(DEPT_NOT_FOUND)).when(deptService).validateDeptList(any());
// 调用 // 调用
UserImportRespVO respVO = userService.importUsers(newArrayList(importUser), true); UserImportRespVO respVO = userService.importUsers(newArrayList(importUser), true);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论