-
Notifications
You must be signed in to change notification settings - Fork 196
Expand file tree
/
Copy pathpermissionHelpers.test.ts
More file actions
51 lines (42 loc) · 2.2 KB
/
permissionHelpers.test.ts
File metadata and controls
51 lines (42 loc) · 2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import {
getGradingPermissions,
getPagesAndResourcesPermissions,
getAdvancedSettingsPermissions,
} from './permissionHelpers';
import { COURSE_PERMISSIONS } from './constants';
describe('permissionHelpers', () => {
const courseId = 'course-v1:org+course+run';
describe('getGradingPermissions', () => {
it('returns VIEW and EDIT permissions with the correct actions and scope', () => {
const result = getGradingPermissions(courseId);
expect(result.canViewGradingSettings.action).toBe(COURSE_PERMISSIONS.VIEW_GRADING_SETTINGS);
expect(result.canViewGradingSettings.scope).toBe(courseId);
expect(result.canEditGradingSettings.action).toBe(COURSE_PERMISSIONS.EDIT_GRADING_SETTINGS);
expect(result.canEditGradingSettings.scope).toBe(courseId);
});
});
describe('getPagesAndResourcesPermissions', () => {
it('returns VIEW and MANAGE permissions with the correct actions and scope', () => {
const result = getPagesAndResourcesPermissions(courseId);
expect(result.canViewPagesAndResources.action).toBe(COURSE_PERMISSIONS.VIEW_PAGES_AND_RESOURCES);
expect(result.canViewPagesAndResources.scope).toBe(courseId);
expect(result.canManagePagesAndResources.action).toBe(COURSE_PERMISSIONS.MANAGE_PAGES_AND_RESOURCES);
expect(result.canManagePagesAndResources.scope).toBe(courseId);
});
});
describe('getAdvancedSettingsPermissions', () => {
it('returns VIEW and MANAGE permissions with the correct actions and scope', () => {
const result = getAdvancedSettingsPermissions(courseId);
expect(result.canViewAdvancedSettings.action).toBe(COURSE_PERMISSIONS.VIEW_ADVANCED_SETTINGS);
expect(result.canViewAdvancedSettings.scope).toBe(courseId);
expect(result.canManageAdvancedSettings.action).toBe(COURSE_PERMISSIONS.MANAGE_ADVANCED_SETTINGS);
expect(result.canManageAdvancedSettings.scope).toBe(courseId);
});
it('uses the provided courseId as scope', () => {
const otherId = 'course-v1:another+test+run';
const result = getAdvancedSettingsPermissions(otherId);
expect(result.canViewAdvancedSettings.scope).toBe(otherId);
expect(result.canManageAdvancedSettings.scope).toBe(otherId);
});
});
});