diff --git a/packages/core/permissions/lib/__tests__/permissions.engine.test.js b/packages/core/permissions/lib/__tests__/permissions.engine.test.js index 1fc60e332f..f3462cbbc8 100644 --- a/packages/core/permissions/lib/__tests__/permissions.engine.test.js +++ b/packages/core/permissions/lib/__tests__/permissions.engine.test.js @@ -23,9 +23,7 @@ describe('Permissions Engine', () => { const generateInvalidateActionHook = action => { return params => { - console.log('params.permission', params.permission, action); if (params.permission.action === action) { - console.log('invalidating'); return false; } }; @@ -142,16 +140,25 @@ describe('Permissions Engine', () => { // 'before-evaluate.permission': hooks.createAsyncSeriesHook(), // 'before-register.permission': hooks.createAsyncSeriesHook(), describe('hooks', () => { - it.skip('format.permission can modify permissions', () => { - // .on('format.permission', permission => { - // if (permission.action === 'modifyMe') { - // return { - // ...permission, - // action: 'modifedAction', - // }; - // } - // return permission; - // }); + it('format.permission can modify permissions', async () => { + const { ability } = await buildEngineWithAbility({ + permissions: [{ action: 'read', subject: 'article' }], + engineHooks: [ + { + name: 'format.permission', + fn(permission) { + return { + ...permission, + action: 'view', + }; + }, + }, + ], + }); + + expect(ability.can('read')).toBeFalsy(); + expect(ability.can('read')).toBeFalsy(); + expect(ability.can('view', 'article')).toBeTruthy(); }); it('before-format::validate.permission can prevent action register', async () => {