| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import { describe, test, it, expect } from 'vitest'
- import RoleUtils from "~/services/rights/roleUtils";
- describe('isA', () => {
- test('has role', () => {
- const roles = ['ROLE_PEDAGOGICS_MANAGER', 'ROLE_TEACHER_CORE', 'ROLE_OTHER']
- expect(RoleUtils.isA('teacher', roles)).toBeTruthy()
- })
- test('has not role', () => {
- const roles = ['ROLE_PEDAGOGICS_MANAGER', 'ROLE_TEACHER_CORE', 'ROLE_OTHER']
- expect(RoleUtils.isA('financial_manager', roles)).toBeFalsy()
- })
- test('invalid profile name', () => {
- expect(() => RoleUtils.isA('profile-123', [])).toThrowError('invalid role name')
- })
- test('unknown profile name', () => {
- const roles = ['ROLE_PEDAGOGICS_MANAGER', 'ROLE_TEACHER_CORE', 'ROLE_OTHER']
- expect(RoleUtils.isA('unknown', roles)).toBeFalsy()
- })
- })
- describe('filterFunctionRoles', () => {
- test('exclude roles', () => {
- const roles = ['ROLE_EVENTS', 'ROLE_COURSES', 'ROLE_TEACHER_CORE', 'ROLE_OTHER']
- expect(RoleUtils.filterFunctionRoles(roles)).toEqual(['ROLE_EVENTS', 'ROLE_COURSES'])
- })
- });
- describe('transformUnderscoreToHyphen', () => {
- })
- describe('rolesToAbilities', () => {
- test('exclude roles', () => {
- const roles = ['ROLE_EVENTS_VIEW', 'ROLE_COURSES', 'ROLE_TEACHER_CORE', 'ROLE_OTHER']
- const expected = [
- { subject: 'events', action: 'read' },
- { subject: 'courses', action: 'manage' },
- { subject: 'other', action: 'manage' },
- ]
- expect(RoleUtils.rolesToAbilities(roles)).toEqual(expected)
- })
- })
|