fix: 修复系统管理审查发现的权限一致性与数据同步问题
统一角色与权限配置的标识体系,并修正菜单树勾选、菜单级联清理与用户备注持久化。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -19,6 +19,12 @@ test.describe('系统管理 / 权限配置', () => {
|
||||
await page.getByRole('button', { name: '保 存' }).click();
|
||||
await expect(page.getByText('菜单已保存')).toBeVisible();
|
||||
await expect(page.getByRole('tree').getByText('用户中心')).toBeVisible();
|
||||
|
||||
await page.getByRole('tab', { name: '按钮权限' }).click();
|
||||
const buttonPanel = page.getByRole('tabpanel', { name: '按钮权限' });
|
||||
await expect(buttonPanel.getByRole('row').filter({ hasText: 'system:user:add' })).toContainText(
|
||||
'系统管理 / 用户中心',
|
||||
);
|
||||
});
|
||||
|
||||
test('可新增同级菜单', async ({ page }) => {
|
||||
@@ -42,4 +48,15 @@ test.describe('系统管理 / 权限配置', () => {
|
||||
await expect(buttonPanel.getByText('system:user:import')).toBeVisible();
|
||||
await expect(page.getByText('按钮权限已添加')).toBeVisible();
|
||||
});
|
||||
|
||||
test('删除菜单时同步清理按钮权限', async ({ page }) => {
|
||||
await page.getByRole('button', { name: '删除' }).first().click();
|
||||
await page.getByRole('button', { name: '确 定' }).click();
|
||||
await expect(page.getByText('菜单已删除')).toBeVisible();
|
||||
|
||||
await page.getByRole('tab', { name: '按钮权限' }).click();
|
||||
const buttonPanel = page.getByRole('tabpanel', { name: '按钮权限' });
|
||||
await expect(buttonPanel.getByText('system:user:add')).toHaveCount(0);
|
||||
await expect(buttonPanel.getByText('system:user:edit')).toHaveCount(0);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -40,6 +40,9 @@ test.describe('系统管理 / 角色管理', () => {
|
||||
await expect(page.getByText('配置权限 - 运营')).toBeVisible();
|
||||
await expect(page.getByText('菜单权限')).toBeVisible();
|
||||
await expect(page.getByText('按钮权限')).toBeVisible();
|
||||
await expect(page.getByRole('treeitem', { name: '用量明细' })).toHaveAttribute('aria-checked', 'false');
|
||||
await expect(page.getByRole('treeitem', { name: '模型列表' })).toHaveAttribute('aria-checked', 'true');
|
||||
await expect(page.getByRole('checkbox', { name: 'system:user:add' })).toBeChecked();
|
||||
|
||||
await page.getByRole('button', { name: '保 存' }).click();
|
||||
await expect(page.getByText('权限已保存')).toBeVisible();
|
||||
|
||||
@@ -51,9 +51,14 @@ test.describe('系统管理 / 用户管理', () => {
|
||||
await operatorRow.getByRole('button', { name: '编辑' }).click();
|
||||
const dialog = page.getByRole('dialog', { name: '编辑用户' });
|
||||
await dialog.getByLabel('昵称').fill('新运营');
|
||||
await dialog.getByLabel('备注').fill('负责日常运营');
|
||||
await dialog.getByRole('button', { name: '保 存' }).click();
|
||||
await expect(page.getByText('新运营', { exact: true })).toBeVisible();
|
||||
|
||||
await operatorRow.getByRole('button', { name: '编辑' }).click();
|
||||
await expect(page.getByRole('dialog', { name: '编辑用户' }).getByLabel('备注')).toHaveValue('负责日常运营');
|
||||
await page.getByRole('dialog', { name: '编辑用户' }).getByRole('button', { name: '取 消' }).click();
|
||||
|
||||
const viewerRow = page.getByRole('row').filter({ hasText: 'viewer' });
|
||||
await viewerRow.getByRole('button', { name: '删除' }).click();
|
||||
await page.getByRole('button', { name: '确 定' }).click();
|
||||
|
||||
Reference in New Issue
Block a user