Skip to content

Commit fa620f2

Browse files
test: remove deprecated useNewCertificatesPage and useNewVideoUploadsPage flag references
These flags are being removed in #3066 and should be treated as always true. Remove test scenarios for the disabled state and clean up mock overrides that set them to false.
1 parent e03e4c7 commit fa620f2

4 files changed

Lines changed: 61 additions & 101 deletions

File tree

src/authz/permissionHelpers.test.ts

Lines changed: 57 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -24,81 +24,81 @@ describe('permissionHelpers', () => {
2424
canManageCourseUpdates: {
2525
action: COURSE_PERMISSIONS.MANAGE_COURSE_UPDATES,
2626
scope: courseId,
27-
},
27+
},
2828
});
2929
});
3030

31-
describe('getFilesPermissions', () => {
32-
it('should return correct permission structure for file operations', () => {
33-
const result = getFilesPermissions(mockCourseId);
34-
35-
expect(result).toEqual({
36-
canViewFiles: {
37-
action: COURSE_PERMISSIONS.VIEW_FILES,
38-
scope: mockCourseId,
39-
},
40-
canCreateFiles: {
41-
action: COURSE_PERMISSIONS.CREATE_FILES,
42-
scope: mockCourseId,
43-
},
44-
canDeleteFiles: {
45-
action: COURSE_PERMISSIONS.DELETE_FILES,
46-
scope: mockCourseId,
47-
},
48-
canEditFiles: {
49-
action: COURSE_PERMISSIONS.EDIT_FILES,
50-
scope: mockCourseId,
51-
},
31+
describe('getFilesPermissions', () => {
32+
it('should return correct permission structure for file operations', () => {
33+
const result = getFilesPermissions(mockCourseId);
34+
35+
expect(result).toEqual({
36+
canViewFiles: {
37+
action: COURSE_PERMISSIONS.VIEW_FILES,
38+
scope: mockCourseId,
39+
},
40+
canCreateFiles: {
41+
action: COURSE_PERMISSIONS.CREATE_FILES,
42+
scope: mockCourseId,
43+
},
44+
canDeleteFiles: {
45+
action: COURSE_PERMISSIONS.DELETE_FILES,
46+
scope: mockCourseId,
47+
},
48+
canEditFiles: {
49+
action: COURSE_PERMISSIONS.EDIT_FILES,
50+
scope: mockCourseId,
51+
},
52+
});
5253
});
53-
});
5454

55-
it('should use the provided courseId as scope for all permissions', () => {
56-
const customCourseId = 'course-v1:TestOrg+TestCourse+2024';
57-
const result = getFilesPermissions(customCourseId);
55+
it('should use the provided courseId as scope for all permissions', () => {
56+
const customCourseId = 'course-v1:TestOrg+TestCourse+2024';
57+
const result = getFilesPermissions(customCourseId);
5858

59-
Object.values(result).forEach(permission => {
60-
expect(permission.scope).toBe(customCourseId);
59+
Object.values(result).forEach(permission => {
60+
expect(permission.scope).toBe(customCourseId);
61+
});
6162
});
6263
});
63-
});
6464

65-
describe('getGradingPermissions', () => {
66-
it('returns VIEW and EDIT permissions with the correct actions and scope', () => {
67-
const result = getGradingPermissions(courseId);
65+
describe('getGradingPermissions', () => {
66+
it('returns VIEW and EDIT permissions with the correct actions and scope', () => {
67+
const result = getGradingPermissions(courseId);
6868

69-
expect(result.canViewGradingSettings.action).toBe(COURSE_PERMISSIONS.VIEW_GRADING_SETTINGS);
70-
expect(result.canViewGradingSettings.scope).toBe(courseId);
71-
expect(result.canEditGradingSettings.action).toBe(COURSE_PERMISSIONS.EDIT_GRADING_SETTINGS);
72-
expect(result.canEditGradingSettings.scope).toBe(courseId);
69+
expect(result.canViewGradingSettings.action).toBe(COURSE_PERMISSIONS.VIEW_GRADING_SETTINGS);
70+
expect(result.canViewGradingSettings.scope).toBe(courseId);
71+
expect(result.canEditGradingSettings.action).toBe(COURSE_PERMISSIONS.EDIT_GRADING_SETTINGS);
72+
expect(result.canEditGradingSettings.scope).toBe(courseId);
73+
});
7374
});
74-
});
7575

76-
describe('getPagesAndResourcesPermissions', () => {
77-
it('returns VIEW and MANAGE permissions with the correct actions and scope', () => {
78-
const result = getPagesAndResourcesPermissions(courseId);
76+
describe('getPagesAndResourcesPermissions', () => {
77+
it('returns VIEW and MANAGE permissions with the correct actions and scope', () => {
78+
const result = getPagesAndResourcesPermissions(courseId);
7979

80-
expect(result.canViewPagesAndResources.action).toBe(COURSE_PERMISSIONS.VIEW_PAGES_AND_RESOURCES);
81-
expect(result.canViewPagesAndResources.scope).toBe(courseId);
82-
expect(result.canManagePagesAndResources.action).toBe(COURSE_PERMISSIONS.MANAGE_PAGES_AND_RESOURCES);
83-
expect(result.canManagePagesAndResources.scope).toBe(courseId);
80+
expect(result.canViewPagesAndResources.action).toBe(COURSE_PERMISSIONS.VIEW_PAGES_AND_RESOURCES);
81+
expect(result.canViewPagesAndResources.scope).toBe(courseId);
82+
expect(result.canManagePagesAndResources.action).toBe(COURSE_PERMISSIONS.MANAGE_PAGES_AND_RESOURCES);
83+
expect(result.canManagePagesAndResources.scope).toBe(courseId);
84+
});
8485
});
85-
});
8686

87-
describe('getAdvancedSettingsPermissions', () => {
88-
it('returns MANAGE permission with the correct action and scope', () => {
89-
const result = getAdvancedSettingsPermissions(courseId);
87+
describe('getAdvancedSettingsPermissions', () => {
88+
it('returns MANAGE permission with the correct action and scope', () => {
89+
const result = getAdvancedSettingsPermissions(courseId);
9090

91-
expect(result.canManageAdvancedSettings.action).toBe(COURSE_PERMISSIONS.MANAGE_ADVANCED_SETTINGS);
92-
expect(result.canManageAdvancedSettings.scope).toBe(courseId);
93-
});
91+
expect(result.canManageAdvancedSettings.action).toBe(COURSE_PERMISSIONS.MANAGE_ADVANCED_SETTINGS);
92+
expect(result.canManageAdvancedSettings.scope).toBe(courseId);
93+
});
9494

95-
it('uses the provided courseId as scope', () => {
96-
const otherId = 'course-v1:another+test+run';
97-
const result = getAdvancedSettingsPermissions(otherId);
95+
it('uses the provided courseId as scope', () => {
96+
const otherId = 'course-v1:another+test+run';
97+
const result = getAdvancedSettingsPermissions(otherId);
9898

99-
expect(result.canManageAdvancedSettings.scope).toBe(otherId);
100-
});
101-
});
99+
expect(result.canManageAdvancedSettings.scope).toBe(otherId);
100+
});
101+
});
102102

103103
it('should use correct COURSE_PERMISSIONS constants for each action', () => {
104104
const result = getFilesPermissions(mockCourseId);

src/authz/permissionHelpers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export const getPagesAndResourcesPermissions = (courseId: string) => ({
5151
export const getAdvancedSettingsPermissions = (courseId: string) => ({
5252
canManageAdvancedSettings: {
5353
action: COURSE_PERMISSIONS.MANAGE_ADVANCED_SETTINGS,
54-
scope: courseId,
54+
scope: courseId,
5555
},
5656
});
5757
export const getFilesPermissions = (courseId: string) => ({

src/header/hooks.test.tsx

Lines changed: 1 addition & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,7 @@ jest.mock('@edx/frontend-platform/i18n', () => ({
2222
}));
2323

2424
// Bypass React Query for waffle flags, and just return the default values.
25-
mockWaffleFlags({
26-
// Some flags can be enabled with either a config value or a waffle flag.
27-
// For test purposes, we'll configure the video upload page using the config, so leave the waffle flag off.
28-
useNewVideoUploadsPage: false,
29-
});
25+
mockWaffleFlags({});
3026

3127
jest.mock('react-redux', () => ({
3228
...jest.requireActual('react-redux'),
@@ -86,29 +82,6 @@ describe('header utils', () => {
8682
renderHook(() => useContentMenuItems('course-123'), { wrapper: createWrapper() }).result.current;
8783
expect(actualItems).toHaveLength(5);
8884
});
89-
it('when video upload page disabled should not include Video Uploads option', () => {
90-
mockWaffleFlags({
91-
enableAuthzCourseAuthoring: false,
92-
useNewVideoUploadsPage: false,
93-
useNewCertificatesPage: false,
94-
});
95-
jest.mocked(useCourseUserPermissions).mockReturnValue({
96-
isLoading: false,
97-
canViewCourseUpdates: true,
98-
canViewPagesAndResources: true,
99-
canViewFiles: true,
100-
} as any);
101-
jest.mocked(useSelector).mockReturnValue({
102-
librariesV2Enabled: false,
103-
});
104-
setConfig({
105-
...getConfig(),
106-
ENABLE_VIDEO_UPLOAD_PAGE_LINK_IN_CONTENT_DROPDOWN: 'false',
107-
});
108-
const actualItems =
109-
renderHook(() => useContentMenuItems('course-123'), { wrapper: createWrapper() }).result.current;
110-
expect(actualItems).toHaveLength(4);
111-
});
11285
it('when authz enabled and user has no permission to view files should not include files option', () => {
11386
mockWaffleFlags({ enableAuthzCourseAuthoring: true });
11487
jest.mocked(useCourseUserPermissions).mockReturnValue({
@@ -242,8 +215,6 @@ describe('header utils', () => {
242215
beforeAll(() => {
243216
mockWaffleFlags({
244217
enableAuthzCourseAuthoring: false,
245-
useNewVideoUploadsPage: false,
246-
useNewCertificatesPage: false,
247218
});
248219
});
249220
beforeEach(() => {
@@ -269,15 +240,6 @@ describe('header utils', () => {
269240
renderHook(() => useSettingMenuItems('course-123'), { wrapper: createWrapper() }).result.current;
270241
expect(actualItems).toHaveLength(6);
271242
});
272-
it('when certificate page disabled should not include certificates option', () => {
273-
setConfig({
274-
...getConfig(),
275-
ENABLE_CERTIFICATE_PAGE: 'false',
276-
});
277-
const actualItems =
278-
renderHook(() => useSettingMenuItems('course-123'), { wrapper: createWrapper() }).result.current;
279-
expect(actualItems).toHaveLength(5);
280-
});
281243
it('when user has access to advanced settings should include advanced settings option', () => {
282244
const actualItemsTitle = renderHook(() => useSettingMenuItems('course-123'), { wrapper: createWrapper() }).result
283245
.current.map((item) => item.title);

src/header/hooks.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,8 @@ import {
1616
getGradingPermissions,
1717
getPagesAndResourcesPermissions,
1818
getScheduleAndDetailsPermissions,
19-
getFilesPermissions
19+
getFilesPermissions,
2020
} from '@src/authz/permissionHelpers';
21-
import { useUserPermissions } from '@src/authz/data/apiHooks';
22-
import { COURSE_PERMISSIONS } from '@src/authz/constants';
2321
import messages from './messages';
2422
import { getCourseUpdatesPermissions } from '@src/authz/permissionHelpers';
2523

@@ -29,7 +27,7 @@ export const useContentMenuItems = (courseId: string) => {
2927
const waffleFlags = useWaffleFlags(courseId);
3028
const { librariesV2Enabled } = useSelector(getStudioHomeData);
3129

32-
const { canViewCourseUpdates, canViewPagesAndResources, canViewFiles} = useCourseUserPermissions(
30+
const { canViewCourseUpdates, canViewPagesAndResources, canViewFiles } = useCourseUserPermissions(
3331
courseId,
3432
{
3533
...getPagesAndResourcesPermissions(courseId),

0 commit comments

Comments
 (0)