roleUtils.spec.js 1.4 KB

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