feat(小宝预警): 增加权限与数据键

This commit is contained in:
Script Generator
2026-06-29 17:13:54 +08:00
parent 5a41904ba6
commit 46a002f817
6 changed files with 79 additions and 5 deletions

View File

@@ -0,0 +1,38 @@
import assert from 'node:assert/strict';
import test from 'node:test';
import type { RoleItem } from './members';
import { mergePresetRolePermissions } from './role-permission-migration';
test('mergePresetRolePermissions adds new preset permissions to existing product manager role', () => {
const roles: RoleItem[] = [
{
id: 'role-pm',
name: '产品经理',
createdAt: '2024-01-01',
permissions: ['product:view'],
},
];
const result = mergePresetRolePermissions(roles);
assert.equal(result.changed, true);
assert.ok(result.roles[0].permissions.includes('product:view'));
assert.ok(result.roles[0].permissions.includes('xiaobao.warning:view'));
assert.ok(result.roles[0].permissions.includes('xiaobao.warning:manage'));
});
test('mergePresetRolePermissions keeps custom role permissions unchanged', () => {
const roles: RoleItem[] = [
{
id: 'role-custom',
name: '自定义角色',
createdAt: '2024-01-01',
permissions: ['version:view'],
},
];
const result = mergePresetRolePermissions(roles);
assert.equal(result.changed, false);
assert.deepEqual(result.roles[0].permissions, ['version:view']);
});