feat(版本): 完善研发计划与预警已读
关键改动: - 增加版本表单、发布校验和调研方向进度规则 - 扩展小宝预警已读状态、风险签名和今日证据 - 补充组长权限、加班查看范围、活动记录与相关测试 Co-Authored-By: Codex GPT-5 <codex@openai.com>
This commit is contained in:
@@ -1,8 +1,38 @@
|
||||
import assert from 'node:assert/strict';
|
||||
import test from 'node:test';
|
||||
import type { RoleItem } from './members';
|
||||
import { DEFAULT_ROLE_PERMISSIONS } from './permissions';
|
||||
import { mergePresetRolePermissions } from './role-permission-migration';
|
||||
|
||||
test('default group leader role has business permissions without admin modules', () => {
|
||||
const permissions = DEFAULT_ROLE_PERMISSIONS['role-lead'];
|
||||
|
||||
assert.ok(permissions);
|
||||
assert.ok(permissions.includes('overtime:view'));
|
||||
assert.ok(!permissions.includes('*'));
|
||||
assert.equal(permissions.some((p) => p.startsWith('member:')), false);
|
||||
assert.equal(permissions.some((p) => p.startsWith('role:')), false);
|
||||
});
|
||||
|
||||
test('mergePresetRolePermissions adds the built-in group leader role to old role data', () => {
|
||||
const roles: RoleItem[] = [
|
||||
{
|
||||
id: 'role-pm',
|
||||
name: 'Product Manager',
|
||||
createdAt: '2024-01-01',
|
||||
permissions: ['product:view'],
|
||||
},
|
||||
];
|
||||
|
||||
const result = mergePresetRolePermissions(roles);
|
||||
const lead = result.roles.find((role) => role.id === 'role-lead');
|
||||
|
||||
assert.equal(result.changed, true);
|
||||
assert.ok(lead);
|
||||
assert.equal(lead.name, '组长');
|
||||
assert.deepEqual(lead.permissions, DEFAULT_ROLE_PERMISSIONS['role-lead']);
|
||||
});
|
||||
|
||||
test('mergePresetRolePermissions adds new preset permissions to existing product manager role', () => {
|
||||
const roles: RoleItem[] = [
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user