style(projects): 微调
This commit is contained in:
@@ -32,65 +32,6 @@ const menuTree: MenuNode[] = [
|
||||
const normalizeRoleMenuCheckedIds = (roleResourceTree as { normalizeRoleMenuCheckedIds?: NormalizeRoleMenuCheckedIds })
|
||||
.normalizeRoleMenuCheckedIds;
|
||||
|
||||
const { resolveRoleMenuSubmitIds } = roleResourceTree;
|
||||
|
||||
describe('resolveRoleMenuSubmitIds', () => {
|
||||
it('keeps original ids when there is no user interaction', () => {
|
||||
const result = resolveRoleMenuSubmitIds({
|
||||
menuTree,
|
||||
baselineIds: ['weekly', 'monthly'],
|
||||
dirtyIds: [],
|
||||
checkedIds: ['personal', 'weekly', 'monthly']
|
||||
});
|
||||
|
||||
assert.deepEqual(result, ['weekly', 'monthly']);
|
||||
});
|
||||
|
||||
it('preserves untouched branches when another branch changes', () => {
|
||||
const result = resolveRoleMenuSubmitIds({
|
||||
menuTree,
|
||||
baselineIds: ['weekly', 'monthly'],
|
||||
dirtyIds: ['stateMachine'],
|
||||
checkedIds: ['personal', 'weekly', 'monthly', 'stateMachine']
|
||||
});
|
||||
|
||||
assert.deepEqual(result, ['weekly', 'monthly', 'stateMachine']);
|
||||
});
|
||||
|
||||
it('recomputes the whole dirty branch instead of expanding unrelated baseline ids', () => {
|
||||
const result = resolveRoleMenuSubmitIds({
|
||||
menuTree,
|
||||
baselineIds: ['personal'],
|
||||
dirtyIds: ['weekly'],
|
||||
checkedIds: ['personal', 'weekly', 'weeklyDetail']
|
||||
});
|
||||
|
||||
assert.deepEqual(result, ['personal', 'weekly', 'weeklyDetail']);
|
||||
});
|
||||
|
||||
it('does not expand untouched sibling branches under the same ancestor', () => {
|
||||
const result = resolveRoleMenuSubmitIds({
|
||||
menuTree,
|
||||
baselineIds: ['monthly'],
|
||||
dirtyIds: ['weeklyDetail'],
|
||||
checkedIds: ['personal', 'weekly', 'weeklyDetail', 'monthly', 'monthlyDetail']
|
||||
});
|
||||
|
||||
assert.deepEqual(result, ['weeklyDetail', 'monthly']);
|
||||
});
|
||||
|
||||
it('does not submit half-checked parent ids when a fully authorized branch becomes partial', () => {
|
||||
const result = resolveRoleMenuSubmitIds({
|
||||
menuTree,
|
||||
baselineIds: ['personal'],
|
||||
dirtyIds: ['monthlyDetail'],
|
||||
checkedIds: ['weekly', 'weeklyDetail']
|
||||
});
|
||||
|
||||
assert.deepEqual(result, ['weekly', 'weeklyDetail']);
|
||||
});
|
||||
});
|
||||
|
||||
describe('normalizeRoleMenuCheckedIds', () => {
|
||||
it('removes partially covered parent ids before tree rendering', () => {
|
||||
assert.equal(typeof normalizeRoleMenuCheckedIds, 'function');
|
||||
|
||||
Reference in New Issue
Block a user