roleUtils.spec.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import {$roleUtils} from "~/services/rights/roleUtils";
  2. const roles = [
  3. 'ROLE_BOOK_CONFIG_VIEW',
  4. 'ROLE_ROOM_CONFIG',
  5. 'ROLE_USER',
  6. 'ROLE_ADMIN',
  7. 'ROLE_ADMIN_CORE',
  8. 'ROLE_PLACE_VIEW',
  9. 'ROLE_ADMINISTRATIF_MANAGER_CORE',
  10. ];
  11. const final_role = [
  12. 'ROLE_GENERAL-CONFIG_VIEW',
  13. 'ROLE_TAGG-ADVANCED',
  14. 'ROLE_ROOM',
  15. 'ROLE_USER_EDIT'
  16. ];
  17. test('test isA', () => {
  18. expect($roleUtils.isA('ADMINISTRATIF_MANAGER', roles)).toBeTruthy();
  19. expect($roleUtils.isA('TEACHER', roles)).toBeFalsy();
  20. })
  21. test('test filterFunctionRoles', () => {
  22. let filter_roles = [
  23. 'ROLE_BOOK_CONFIG_VIEW',
  24. 'ROLE_ROOM_CONFIG',
  25. 'ROLE_USER',
  26. 'ROLE_PLACE_VIEW'
  27. ];
  28. expect($roleUtils.filterFunctionRoles(roles)).toStrictEqual(filter_roles);
  29. });
  30. test('test transformUnderscoreToHyphenBeforeCompleteMigration', () => {
  31. let roles_to_array = [
  32. 'ROLE_GENERAL_CONFIG_VIEW',
  33. 'ROLE_TAGG_ADVANCED',
  34. 'ROLE_ROOM',
  35. 'ROLE_USER_EDIT'
  36. ];
  37. expect($roleUtils.transformUnderscoreToHyphenBeforeCompleteMigration(roles_to_array)).toStrictEqual(final_role);
  38. });
  39. test('test transformRoleToAbilities', () => {
  40. let abilities_to_have = [
  41. {action: 'read', subject: 'book-config'},
  42. {action: 'read', subject: 'place'},
  43. {action: 'manage', subject: 'room-config'},
  44. {action: 'manage', subject: 'user'}
  45. ]
  46. expect($roleUtils.transformRoleToAbilities(final_role)).toStrictEqual(abilities_to_have);
  47. })