2024-05-17 01:53:15 -07:00
|
|
|
import {
|
|
|
|
getVariablesPermissions,
|
|
|
|
getProjectPermissions,
|
|
|
|
getCredentialPermissions,
|
|
|
|
getWorkflowPermissions,
|
|
|
|
} from '@/permissions';
|
|
|
|
import type { ICredentialsResponse, IUser, IWorkflowDb } from '@/Interface';
|
2024-06-06 06:30:17 -07:00
|
|
|
import type { Project } from '@/types/projects.types';
|
2022-09-28 01:26:20 -07:00
|
|
|
|
2024-05-17 01:53:15 -07:00
|
|
|
describe('permissions', () => {
|
|
|
|
it('getVariablesPermissions', () => {
|
|
|
|
expect(getVariablesPermissions(null)).toEqual({
|
|
|
|
create: false,
|
|
|
|
read: false,
|
|
|
|
update: false,
|
|
|
|
delete: false,
|
|
|
|
list: false,
|
|
|
|
});
|
2022-09-28 01:26:20 -07:00
|
|
|
|
2024-05-17 01:53:15 -07:00
|
|
|
expect(
|
|
|
|
getVariablesPermissions({
|
|
|
|
globalScopes: [
|
|
|
|
'variable:create',
|
|
|
|
'variable:read',
|
|
|
|
'variable:update',
|
|
|
|
'variable:delete',
|
|
|
|
'variable:list',
|
|
|
|
],
|
|
|
|
} as IUser),
|
|
|
|
).toEqual({
|
|
|
|
create: true,
|
|
|
|
read: true,
|
|
|
|
update: true,
|
|
|
|
delete: true,
|
|
|
|
list: true,
|
|
|
|
});
|
2022-09-28 01:26:20 -07:00
|
|
|
|
2024-05-17 01:53:15 -07:00
|
|
|
expect(
|
|
|
|
getVariablesPermissions({
|
|
|
|
globalScopes: ['variable:read', 'variable:list'],
|
|
|
|
} as IUser),
|
|
|
|
).toEqual({
|
|
|
|
create: false,
|
|
|
|
read: true,
|
|
|
|
update: false,
|
|
|
|
delete: false,
|
|
|
|
list: true,
|
|
|
|
});
|
2022-09-28 01:26:20 -07:00
|
|
|
});
|
|
|
|
|
2024-05-17 01:53:15 -07:00
|
|
|
it('getProjectPermissions', () => {
|
|
|
|
expect(
|
|
|
|
getProjectPermissions({
|
|
|
|
scopes: [
|
|
|
|
'project:create',
|
|
|
|
'project:read',
|
|
|
|
'project:update',
|
|
|
|
'project:delete',
|
|
|
|
'project:list',
|
|
|
|
],
|
|
|
|
} as Project),
|
|
|
|
).toEqual({
|
|
|
|
create: true,
|
|
|
|
read: true,
|
|
|
|
update: true,
|
|
|
|
delete: true,
|
|
|
|
list: true,
|
|
|
|
});
|
2022-09-28 01:26:20 -07:00
|
|
|
});
|
|
|
|
|
2024-05-17 01:53:15 -07:00
|
|
|
it('getCredentialPermissions', () => {
|
|
|
|
expect(
|
|
|
|
getCredentialPermissions({
|
|
|
|
scopes: [
|
|
|
|
'credential:create',
|
|
|
|
'credential:read',
|
|
|
|
'credential:update',
|
|
|
|
'credential:delete',
|
|
|
|
'credential:list',
|
|
|
|
'credential:share',
|
2024-06-11 05:21:16 -07:00
|
|
|
'credential:move',
|
2024-05-17 01:53:15 -07:00
|
|
|
],
|
|
|
|
} as ICredentialsResponse),
|
|
|
|
).toEqual({
|
|
|
|
create: true,
|
|
|
|
read: true,
|
|
|
|
update: true,
|
|
|
|
delete: true,
|
|
|
|
list: true,
|
|
|
|
share: true,
|
2024-06-11 05:21:16 -07:00
|
|
|
move: true,
|
2024-05-17 01:53:15 -07:00
|
|
|
});
|
2022-09-28 01:26:20 -07:00
|
|
|
});
|
2023-11-23 03:22:47 -08:00
|
|
|
|
2024-05-17 01:53:15 -07:00
|
|
|
it('getWorkflowPermissions', () => {
|
|
|
|
expect(
|
|
|
|
getWorkflowPermissions({
|
|
|
|
scopes: [
|
|
|
|
'workflow:create',
|
|
|
|
'workflow:read',
|
|
|
|
'workflow:update',
|
|
|
|
'workflow:delete',
|
|
|
|
'workflow:list',
|
|
|
|
'workflow:share',
|
|
|
|
'workflow:execute',
|
2024-06-11 05:21:16 -07:00
|
|
|
'workflow:move',
|
2024-05-17 01:53:15 -07:00
|
|
|
],
|
|
|
|
} as IWorkflowDb),
|
|
|
|
).toEqual({
|
|
|
|
create: true,
|
|
|
|
read: true,
|
|
|
|
update: true,
|
|
|
|
delete: true,
|
|
|
|
list: true,
|
|
|
|
share: true,
|
|
|
|
execute: true,
|
2024-06-11 05:21:16 -07:00
|
|
|
move: true,
|
2024-05-17 01:53:15 -07:00
|
|
|
});
|
2023-11-23 03:22:47 -08:00
|
|
|
});
|
2022-09-28 01:26:20 -07:00
|
|
|
});
|