task-275(验收反馈): 菜单权限标识/路由后台自动生成(menu_auto_/auto/ 前缀),表单移除两项输入;编辑缺省保持原值
This commit is contained in:
+52
@@ -672,6 +672,58 @@ class PermissionMenuServiceTest {
|
||||
assertThat(inserted.getValue().getMenuType()).isEqualTo("admin");
|
||||
}
|
||||
|
||||
@Test
|
||||
void createWithoutColumnKeyAndRoutePathAutoGenerates() {
|
||||
PermissionMenuMapper menuMapper = mock(PermissionMenuMapper.class);
|
||||
UserColumnPermissionMapper permissionMapper = mock(UserColumnPermissionMapper.class);
|
||||
AdminUserMapper userMapper = mock(AdminUserMapper.class);
|
||||
PermissionMenuService service = new PermissionMenuService(menuMapper, permissionMapper, userMapper);
|
||||
|
||||
PermissionMenuEntity adminTail = menu(9L, null, "admin", 134);
|
||||
adminTail.setName("admin tail");
|
||||
when(menuMapper.selectOne(any())).thenReturn(null, null, adminTail);
|
||||
when(menuMapper.selectById(any())).thenReturn(adminTail);
|
||||
|
||||
PermissionMenuCreateRequest request = new PermissionMenuCreateRequest();
|
||||
request.setName("新菜单");
|
||||
request.setMenuType("admin");
|
||||
// 不传 columnKey / routePath:由后台自动生成。
|
||||
|
||||
service.create(request);
|
||||
|
||||
ArgumentCaptor<PermissionMenuEntity> inserted = ArgumentCaptor.forClass(PermissionMenuEntity.class);
|
||||
verify(menuMapper).insert(inserted.capture());
|
||||
assertThat(inserted.getValue().getColumnKey()).startsWith("menu_auto_admin_");
|
||||
assertThat(inserted.getValue().getRoutePath()).startsWith("auto/").contains(inserted.getValue().getColumnKey());
|
||||
}
|
||||
|
||||
@Test
|
||||
void updateWithoutColumnKeyAndRoutePathKeepsOriginal() {
|
||||
PermissionMenuMapper menuMapper = mock(PermissionMenuMapper.class);
|
||||
UserColumnPermissionMapper permissionMapper = mock(UserColumnPermissionMapper.class);
|
||||
AdminUserMapper userMapper = mock(AdminUserMapper.class);
|
||||
PermissionMenuService service = new PermissionMenuService(menuMapper, permissionMapper, userMapper);
|
||||
|
||||
PermissionMenuEntity current = menu(1L, null, "admin", 1);
|
||||
current.setName("原名");
|
||||
when(menuMapper.selectById(1L)).thenReturn(current);
|
||||
when(menuMapper.selectOne(any())).thenReturn(null, null, current);
|
||||
when(menuMapper.selectById(any())).thenReturn(current);
|
||||
|
||||
PermissionMenuUpdateRequest request = new PermissionMenuUpdateRequest();
|
||||
request.setName("改名");
|
||||
request.setMenuType("admin");
|
||||
// 不传 columnKey / routePath:保持原值。
|
||||
|
||||
service.update(1L, request);
|
||||
|
||||
ArgumentCaptor<PermissionMenuEntity> updated = ArgumentCaptor.forClass(PermissionMenuEntity.class);
|
||||
verify(menuMapper).updateById(updated.capture());
|
||||
assertThat(updated.getValue().getColumnKey()).isEqualTo("menu-1");
|
||||
assertThat(updated.getValue().getRoutePath()).isEqualTo("route-1");
|
||||
assertThat(updated.getValue().getName()).isEqualTo("改名");
|
||||
}
|
||||
|
||||
private PermissionMenuCreateRequest createRequest(Long parentId, String menuType) {
|
||||
PermissionMenuCreateRequest request = new PermissionMenuCreateRequest();
|
||||
request.setName("child");
|
||||
|
||||
Reference in New Issue
Block a user