import { $roleUtils } from '~/services/rights/roleUtils' let roles: Array, final_role: Array beforeEach(() => { roles = [ 'ROLE_BOOK_CONFIG_VIEW', 'ROLE_ROOM_CONFIG', 'ROLE_USER', 'ROLE_ADMIN', 'ROLE_ADMIN_CORE', 'ROLE_PLACE_VIEW', 'ROLE_ADMINISTRATIF_MANAGER_CORE' ] final_role = [ 'ROLE_GENERAL-CONFIG_VIEW', 'ROLE_TAGG-ADVANCED', 'ROLE_ROOM', 'ROLE_USER_VIEW' ] }) describe('isA()', () => { it('should have the profil of ADMINISTRATIF_MANAGER thanks to his roles', () => { expect($roleUtils.isA('ADMINISTRATIF_MANAGER', roles)).toBeTruthy() }) it('should not have the profil of ADMINISTRATIF_MANAGER thanks to his roles', () => { expect($roleUtils.isA('TEACHER', roles)).toBeFalsy() }) }) describe('filterFunctionRoles()', () => { it('should filters roles to keep just roles without function', () => { const filter_roles = [ 'ROLE_BOOK_CONFIG_VIEW', 'ROLE_ROOM_CONFIG', 'ROLE_USER', 'ROLE_PLACE_VIEW' ] expect($roleUtils.filterFunctionRoles(roles)).toStrictEqual(filter_roles) }) }) describe('transformUnderscoreToHyphenBeforeCompleteMigration()', () => { it('should transform underscore to hyphen only on role name', () => { const roles_to_array = [ 'ROLE_GENERAL_CONFIG_VIEW', 'ROLE_TAGG_ADVANCED', 'ROLE_ROOM', 'ROLE_USER_VIEW' ] expect($roleUtils.transformUnderscoreToHyphenBeforeCompleteMigration(roles_to_array)).toStrictEqual(final_role) }) }) describe('transformRoleToAbilities()', () => { it('should convert Role to Abilities', () => { const abilities_to_have = [ { action: 'read', subject: 'general-config' }, { action: 'manage', subject: 'tagg-advanced' }, { action: 'manage', subject: 'room' }, { action: 'read', subject: 'user' } ] expect($roleUtils.transformRoleToAbilities(final_role)).toStrictEqual(abilities_to_have) }) })