diff --git a/src/containers/CourseCard/components/CourseCardDetails/hooks.js b/src/containers/CourseCard/components/CourseCardDetails/hooks.js index b7d72c5..bcf285a 100644 --- a/src/containers/CourseCard/components/CourseCardDetails/hooks.js +++ b/src/containers/CourseCard/components/CourseCardDetails/hooks.js @@ -10,8 +10,8 @@ export const useAccessMessage = ({ cardId }) => { const courseRun = reduxHooks.useCardCourseRunData(cardId); const formatDate = utilHooks.useFormatDate(); if (!courseRun.isStarted) { - if (!courseRun.startDate) { return null; } - const startDate = formatDate(courseRun.startDate); + if (!courseRun.startDate && !courseRun.advertisedStart) { return null; } + const startDate = courseRun.advertisedStart ? courseRun.advertisedStart : formatDate(courseRun.startDate); return formatMessage(messages.courseStarts, { startDate }); } if (enrollment.isEnrolled) { diff --git a/src/data/redux/app/selectors/courseCard.js b/src/data/redux/app/selectors/courseCard.js index 080ad37..aba3deb 100644 --- a/src/data/redux/app/selectors/courseCard.js +++ b/src/data/redux/app/selectors/courseCard.js @@ -43,6 +43,7 @@ export const courseCard = StrictDict({ (courseRun) => (courseRun === null ? {} : { endDate: module.loadDateVal(courseRun.endDate), startDate: module.loadDateVal(courseRun.startDate), + advertisedStart: courseRun.advertisedStart, courseId: courseRun.courseId, isArchived: courseRun.isArchived, diff --git a/src/data/redux/app/selectors/courseCard.test.js b/src/data/redux/app/selectors/courseCard.test.js index 84c6da6..79edc57 100644 --- a/src/data/redux/app/selectors/courseCard.test.js +++ b/src/data/redux/app/selectors/courseCard.test.js @@ -147,6 +147,7 @@ describe('courseCard selectors module', () => { loadSelector(courseCard.courseRun, { endDate: '3000-10-20', startDate: '2000-10-20', + advertisedStart: 'Mid June', courseId: 'test-course-id', isArchived: 'test-is-archived', @@ -172,6 +173,9 @@ describe('courseCard selectors module', () => { expect(selected.endDate).toEqual(new Date(testData.endDate)); expect(selected.startDate).toEqual(new Date(testData.startDate)); }); + it('passes advertised start date', () => { + expect(selected.advertisedStart).toEqual(testData.advertisedStart); + }); it('passes [courseId, isArchived, isStarted]', () => { expect(selected.courseId).toEqual(testData.courseId); expect(selected.isArchived).toEqual(testData.isArchived);