标准角色只允许管理员进行修改菜单权限与数据权限
This commit is contained in:
@@ -1,10 +1,13 @@
|
||||
package cn.iocoder.yudao.module.system.service.permission;
|
||||
|
||||
import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleMenuDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.permission.UserRoleDO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.permission.RoleMapper;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.permission.RoleMenuMapper;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.permission.UserRoleMapper;
|
||||
import cn.iocoder.yudao.module.system.enums.permission.RoleTypeEnum;
|
||||
import cn.iocoder.yudao.module.system.service.dept.DeptService;
|
||||
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
|
||||
import jakarta.annotation.Resource;
|
||||
@@ -33,6 +36,8 @@ public class PermissionServiceTest extends BaseDbUnitTest {
|
||||
@Resource
|
||||
private UserRoleMapper userRoleMapper;
|
||||
|
||||
@Resource
|
||||
private RoleMapper roleMapper;
|
||||
@Resource
|
||||
private RoleServiceImpl roleService;
|
||||
@MockBean
|
||||
@@ -47,7 +52,8 @@ public class PermissionServiceTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testAssignRoleMenu() {
|
||||
// 准备参数
|
||||
Long roleId = 1L;
|
||||
RoleDO role = randomPojo(RoleDO.class, o -> o.setType(RoleTypeEnum.CUSTOM.getType()).setId(1L).setTenantId(0L));
|
||||
roleMapper.insert(role);
|
||||
Set<Long> menuIds = asSet(200L, 300L);
|
||||
// mock 数据
|
||||
RoleMenuDO roleMenu01 = randomPojo(RoleMenuDO.class).setRoleId(1L).setMenuId(100L);
|
||||
@@ -58,7 +64,7 @@ public class PermissionServiceTest extends BaseDbUnitTest {
|
||||
roleMenuMapper.insert(roleMenu02);
|
||||
|
||||
// 调用
|
||||
permissionService.assignRoleMenu(roleId, menuIds);
|
||||
permissionService.assignRoleMenu(role.getId(), menuIds);
|
||||
// 断言
|
||||
List<RoleMenuDO> roleMenuList = roleMenuMapper.selectList();
|
||||
assertEquals(2, roleMenuList.size());
|
||||
|
||||
@@ -151,7 +151,7 @@ public class RoleServiceImplTest extends BaseDbUnitTest {
|
||||
@Test
|
||||
public void testValidateUpdateRole_success() {
|
||||
RoleDO roleDO = randomPojo(RoleDO.class);
|
||||
roleMapper.insert(roleDO);
|
||||
roleMapper.insert(roleDO.setType(RoleTypeEnum.CUSTOM.getType()));
|
||||
// 准备参数
|
||||
Long id = roleDO.getId();
|
||||
|
||||
@@ -159,6 +159,25 @@ public class RoleServiceImplTest extends BaseDbUnitTest {
|
||||
roleService.validateRoleForUpdate(id);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testValidateUpdateRole_fail() {
|
||||
RoleDO roleDO = randomPojo(RoleDO.class);
|
||||
roleMapper.insert(roleDO.setType(RoleTypeEnum.SYSTEM.getType()));
|
||||
// 准备参数
|
||||
Long systemRoleId = roleDO.getId();
|
||||
|
||||
RoleDO normalRoleDO = randomPojo(RoleDO.class);
|
||||
roleMapper.insert(normalRoleDO.setType(RoleTypeEnum.NORMAL.getType()));
|
||||
// 准备参数
|
||||
Long normalRoleId = normalRoleDO.getId();
|
||||
|
||||
// 调用,并断言异常
|
||||
assertServiceException(() -> roleService.validateRoleForUpdate(normalRoleId),
|
||||
ROLE_CAN_NOT_UPDATE_NORMAL_TYPE_ROLE);
|
||||
assertServiceException(() -> roleService.validateRoleForUpdate(systemRoleId),
|
||||
ROLE_CAN_NOT_UPDATE_SYSTEM_TYPE_ROLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testValidateUpdateRole_roleIdNotExist() {
|
||||
assertServiceException(() -> roleService.validateRoleForUpdate(randomLongId()), ROLE_NOT_EXISTS);
|
||||
|
||||
Reference in New Issue
Block a user