Commit f65688896539adecdba405c630f654034a780a1b

Authored by YunaiV
1 parent 4dab6d02

✅ 增加 permission 模块的单测覆盖率

yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/notify/NotifySendService.java
... ... @@ -48,7 +48,7 @@ public interface NotifySendService {
48 48 String templateCode, Map<String, Object> templateParams);
49 49  
50 50 default void sendBatchNotify(List<String> mobiles, List<Long> userIds, Integer userType,
51   - String templateCode, Map<String, Object> templateParams) {
  51 + String templateCode, Map<String, Object> templateParams) {
52 52 throw new UnsupportedOperationException("暂时不支持该操作,感兴趣可以实现该功能哟!");
53 53 }
54 54  
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/permission/RoleServiceImpl.java
... ... @@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjectUtil;
6 6 import cn.hutool.extra.spring.SpringUtil;
7 7 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
8 8 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  9 +import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
9 10 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
10 11 import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RolePageReqVO;
11 12 import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleSaveReqVO;
... ... @@ -27,7 +28,6 @@ import javax.annotation.Resource;
27 28 import java.util.*;
28 29  
29 30 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
30   -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
31 31 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
32 32 import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
33 33  
... ... @@ -198,7 +198,7 @@ public class RoleServiceImpl implements RoleService {
198 198 }
199 199 // 这里采用 for 循环从缓存中获取,主要考虑 Spring CacheManager 无法批量操作的问题
200 200 RoleServiceImpl self = getSelf();
201   - return convertList(ids, self::getRoleFromCache);
  201 + return CollectionUtils.convertList(ids, self::getRoleFromCache);
202 202 }
203 203  
204 204 @Override
... ...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/permission/bo/RoleCreateReqBO.java deleted
1   -package cn.iocoder.yudao.module.system.service.permission.bo;
2   -
3   -import lombok.Data;
4   -
5   -import javax.validation.constraints.NotBlank;
6   -import javax.validation.constraints.NotNull;
7   -import javax.validation.constraints.Size;
8   -
9   -/**
10   - * 角色创建 Request BO
11   - *
12   - * @author 芋道源码
13   - */
14   -@Data
15   -public class RoleCreateReqBO {
16   -
17   - /**
18   - * 租户编号
19   - */
20   - @NotNull(message = "租户编号不能为空")
21   - private Long tenantId;
22   -
23   - /**
24   - * 角色名称
25   - */
26   - @NotBlank(message = "角色名称不能为空")
27   - @Size(max = 30, message = "角色名称长度不能超过30个字符")
28   - private String name;
29   -
30   - /**
31   - * 角色标志
32   - */
33   - @NotBlank(message = "角色标志不能为空")
34   - @Size(max = 100, message = "角色标志长度不能超过100个字符")
35   - private String code;
36   -
37   - /**
38   - * 显示顺序
39   - */
40   - @NotNull(message = "显示顺序不能为空")
41   - private Integer sort;
42   -
43   - /**
44   - * 角色类型
45   - */
46   - @NotNull(message = "角色类型不能为空")
47   - private Integer type;
48   -
49   -}
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/notify/NotifySendServiceImplTest.java
... ... @@ -6,6 +6,7 @@ import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
6 6 import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest;
7 7 import cn.iocoder.yudao.module.system.dal.dataobject.notify.NotifyTemplateDO;
8 8 import org.assertj.core.util.Lists;
  9 +import org.junit.jupiter.api.Assertions;
9 10 import org.junit.jupiter.api.Test;
10 11 import org.mockito.InjectMocks;
11 12 import org.mockito.Mock;
... ... @@ -172,5 +173,18 @@ class NotifySendServiceImplTest extends BaseMockitoUnitTest {
172 173 NOTIFY_SEND_TEMPLATE_PARAM_MISS, "code");
173 174 }
174 175  
  176 + @Test
  177 + public void testSendBatchNotify() {
  178 + // 准备参数
  179 + // mock 方法
  180 +
  181 + // 调用
  182 + UnsupportedOperationException exception = Assertions.assertThrows(
  183 + UnsupportedOperationException.class,
  184 + () -> notifySendService.sendBatchNotify(null, null, null, null, null)
  185 + );
  186 + // 断言
  187 + assertEquals("暂时不支持该操作,感兴趣可以实现该功能哟!", exception.getMessage());
  188 + }
175 189  
176 190 }
... ...
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/permission/MenuServiceImplTest.java
... ... @@ -13,6 +13,8 @@ import org.springframework.boot.test.mock.mockito.MockBean;
13 13 import org.springframework.context.annotation.Import;
14 14  
15 15 import javax.annotation.Resource;
  16 +import java.util.Collection;
  17 +import java.util.Collections;
16 18 import java.util.List;
17 19 import java.util.Set;
18 20  
... ... @@ -186,6 +188,40 @@ public class MenuServiceImplTest extends BaseDbUnitTest {
186 188 }
187 189  
188 190 @Test
  191 + public void testGetMenuIdListByPermissionFromCache() {
  192 + // mock 数据
  193 + MenuDO menu100 = randomPojo(MenuDO.class);
  194 + menuMapper.insert(menu100);
  195 + MenuDO menu101 = randomPojo(MenuDO.class);
  196 + menuMapper.insert(menu101);
  197 + // 准备参数
  198 + String permission = menu100.getPermission();
  199 +
  200 + // 调用
  201 + List<Long> ids = menuService.getMenuIdListByPermissionFromCache(permission);
  202 + // 断言
  203 + assertEquals(1, ids.size());
  204 + assertEquals(menu100.getId(), ids.get(0));
  205 + }
  206 +
  207 + @Test
  208 + public void testGetMenuList_ids() {
  209 + // mock 数据
  210 + MenuDO menu100 = randomPojo(MenuDO.class);
  211 + menuMapper.insert(menu100);
  212 + MenuDO menu101 = randomPojo(MenuDO.class);
  213 + menuMapper.insert(menu101);
  214 + // 准备参数
  215 + Collection<Long> ids = Collections.singleton(menu100.getId());
  216 +
  217 + // 调用
  218 + List<MenuDO> list = menuService.getMenuList(ids);
  219 + // 断言
  220 + assertEquals(1, list.size());
  221 + assertPojoEquals(menu100, list.get(0));
  222 + }
  223 +
  224 + @Test
189 225 public void testGetMenu() {
190 226 // mock 数据
191 227 MenuDO menu = randomPojo(MenuDO.class);
... ...
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/permission/RoleServiceImplTest.java
... ... @@ -234,6 +234,39 @@ public class RoleServiceImplTest extends BaseDbUnitTest {
234 234 }
235 235  
236 236 @Test
  237 + public void testGetRoleList() {
  238 + // mock 数据
  239 + RoleDO dbRole01 = randomPojo(RoleDO.class, o -> o.setStatus(CommonStatusEnum.ENABLE.getStatus()));
  240 + roleMapper.insert(dbRole01);
  241 + RoleDO dbRole02 = randomPojo(RoleDO.class, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()));
  242 + roleMapper.insert(dbRole02);
  243 +
  244 + // 调用
  245 + List<RoleDO> list = roleService.getRoleList();
  246 + // 断言
  247 + assertEquals(2, list.size());
  248 + assertPojoEquals(dbRole01, list.get(0));
  249 + assertPojoEquals(dbRole02, list.get(1));
  250 + }
  251 +
  252 + @Test
  253 + public void testGetRoleList_ids() {
  254 + // mock 数据
  255 + RoleDO dbRole01 = randomPojo(RoleDO.class, o -> o.setStatus(CommonStatusEnum.ENABLE.getStatus()));
  256 + roleMapper.insert(dbRole01);
  257 + RoleDO dbRole02 = randomPojo(RoleDO.class, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()));
  258 + roleMapper.insert(dbRole02);
  259 + // 准备参数
  260 + Collection<Long> ids = singleton(dbRole01.getId());
  261 +
  262 + // 调用
  263 + List<RoleDO> list = roleService.getRoleList(ids);
  264 + // 断言
  265 + assertEquals(1, list.size());
  266 + assertPojoEquals(dbRole01, list.get(0));
  267 + }
  268 +
  269 + @Test
237 270 public void testGetRoleListFromCache() {
238 271 try (MockedStatic<SpringUtil> springUtilMockedStatic = mockStatic(SpringUtil.class)) {
239 272 springUtilMockedStatic.when(() -> SpringUtil.getBean(eq(RoleServiceImpl.class)))
... ...