Bw/recommendations panel (#63)

Co-authored-by: Shafqat Farhan <shafqat.farhan@arbisoft.com>
This commit is contained in:
Ben Warzeski
2022-11-04 15:01:56 -04:00
committed by GitHub
parent b8245d6631
commit dde8d45df3
62 changed files with 1149 additions and 425 deletions

View File

@@ -18,6 +18,7 @@ export const RequestKeys = StrictDict({
enrollEntitlementSession: 'enrollEntitlementSession',
leaveEntitlementSession: 'leaveEntitlementSession',
masquerade: 'masquerade',
recommendedCourses: 'recommendedCourses',
});
export const ErrorCodes = StrictDict({

View File

@@ -12,7 +12,7 @@ export const sortFn = (transform, { reverse }) => (v1, v2) => {
export const courseFilters = StrictDict({
[FilterKeys.notEnrolled]: (course) => !course.enrollment.isEnrolled,
[FilterKeys.done]: (course) => course.courseRun.isArchived,
[FilterKeys.done]: (course) => course.courseRun !== null && course.courseRun.isArchived,
[FilterKeys.upgraded]: (course) => course.enrollment.isVerified,
[FilterKeys.inProgress]: (course) => course.enrollment.hasStarted,
[FilterKeys.notStarted]: (course) => !course.enrollment.hasStarted,

View File

@@ -47,6 +47,7 @@ describe('courseList selector module', () => {
});
test('done returns true iff learner has finished course', () => {
filterFn = courseFilters[FilterKeys.done];
expect(filterFn({ courseRun: null })).toEqual(false);
expect(filterFn({ courseRun: { isArchived: true } })).toEqual(true);
expect(filterFn({ courseRun: { isArchived: false } })).toEqual(false);
});

View File

@@ -11,8 +11,6 @@ export const usePageNumber = () => useSelector(appSelectors.pageNumber);
export const useEmailConfirmationData = () => useSelector(appSelectors.emailConfirmation);
export const useEnterpriseDashboardData = () => useSelector(appSelectors.enterpriseDashboard);
export const usePlatformSettingsData = () => useSelector(appSelectors.platformSettings);
// suggested courses is max at 3 at the moment.
export const useSuggestedCoursesData = () => useSelector(appSelectors.suggestedCourses).slice(0, 3);
export const useSelectSessionModalData = () => useSelector(appSelectors.selectSessionModal);
export const useSocialSettingsData = () => useSelector(appSelectors.socialSettingsData);

View File

@@ -18,6 +18,7 @@ jest.mock('data/redux', () => ({
setPageNumber: jest.fn(v => ({ setPageNumber: v })),
loadGlobalData: jest.fn(v => ({ loadGlobalData: v })),
loadCourses: jest.fn(v => ({ loadCourses: v })),
loadRecommendedCourses: jest.fn(v => ({ loadRecommendedCourses: v })),
},
},
selectors: {