chore: update course selector (#51)

This commit is contained in:
leangseu-edx
2022-10-25 13:19:58 -04:00
committed by GitHub
parent 57eac99b42
commit 115ef77e37
5 changed files with 7 additions and 22 deletions

View File

@@ -16,7 +16,6 @@ export const CourseBanner = ({ cardId }) => {
coursewareAccess = {},
} = appHooks.useCardEnrollmentData(cardId);
const courseRun = appHooks.useCardCourseRunData(cardId);
const course = appHooks.useCardCourseData(cardId);
const { formatMessage, formatDate } = useIntl();
const { hasUnmetPrerequisites, isStaff, isTooEarly } = coursewareAccess;
@@ -48,7 +47,7 @@ export const CourseBanner = ({ cardId }) => {
<Banner>
{formatMessage(messages.upgradeDeadlinePassed)}
{' '}
<Hyperlink destination={course.website || ''}>
<Hyperlink destination={courseRun.marketingUrl || ''}>
{formatMessage(messages.exploreCourseDetails)}
</Hyperlink>
</Banner>

View File

@@ -11,7 +11,6 @@ import messages from './messages';
jest.mock('components/Banner', () => 'Banner');
jest.mock('data/redux', () => ({
hooks: {
useCardCourseData: jest.fn(),
useCardCourseRunData: jest.fn(),
useCardEnrollmentData: jest.fn(),
},
@@ -34,21 +33,14 @@ const enrollmentData = {
const courseRunData = {
isActive: false,
startDate: '11/11/3030',
};
const courseData = {
website: 'test-course-website',
marketingUrl: 'marketing-url',
};
const render = (overrides = {}) => {
const {
course = {},
courseRun = {},
enrollment = {},
} = overrides;
appHooks.useCardCourseData.mockReturnValueOnce({
...courseData,
...course,
});
appHooks.useCardCourseRunData.mockReturnValueOnce({
...courseRunData,
...courseRun,
@@ -63,7 +55,6 @@ const render = (overrides = {}) => {
describe('CourseBanner', () => {
test('initializes data with course number from enrollment, course and course run data', () => {
render();
expect(appHooks.useCardCourseData).toHaveBeenCalledWith(cardId);
expect(appHooks.useCardCourseRunData).toHaveBeenCalledWith(cardId);
expect(appHooks.useCardEnrollmentData).toHaveBeenCalledWith(cardId);
});
@@ -106,7 +97,7 @@ describe('CourseBanner', () => {
expect(el.text()).toContain(messages.upgradeDeadlinePassed.defaultMessage);
const link = el.find(Hyperlink);
expect(link.text()).toEqual(messages.exploreCourseDetails.defaultMessage);
expect(link.props().destination).toEqual(courseData.website);
expect(link.props().destination).toEqual(courseRunData.marketingUrl);
});
});
test('no display if audit access not expired and (course is not active or can upgrade)', () => {

View File

@@ -30,7 +30,7 @@ exports[`CourseBanner course run active and cannot upgrade snapshot: (upgradseDe
Your upgrade deadline for this course has passed. To upgrade, enroll in a session that is farther in the future.
<Hyperlink
destination="test-course-website"
destination="marketing-url"
>
Explore course details.
</Hyperlink>

View File

@@ -34,7 +34,6 @@ export const courseCard = StrictDict({
bannerImgSrc: baseAppUrl(course.bannerImgSrc),
courseNumber: course.courseNumber,
courseName: course.courseName,
website: course.website,
socialShareUrl: course.socialShareUrl,
}),
),
@@ -51,7 +50,6 @@ export const courseCard = StrictDict({
courseId: courseRun.courseId,
isArchived: courseRun.isArchived,
isStarted: courseRun.isStarted,
isFinished: courseRun.isFinished,
minPassingGrade: Math.floor(courseRun.minPassingGrade * 100),
@@ -86,6 +84,7 @@ export const courseCard = StrictDict({
isVerified: enrollment.isVerified,
isEmailEnabled: enrollment.isEmailEnabled,
hasOptedOutOfEmail: enrollment.hasOptedOutOfEmail,
};
},
),

View File

@@ -107,7 +107,6 @@ describe('courseCard selectors module', () => {
bannerImgSrc: 'test-banner-img-src',
courseNumber: 'test-course-number',
courseName: 'test-course-name',
website: 'test-website',
socialShareUrl: 'test-social-share-url',
});
});
@@ -117,10 +116,9 @@ describe('courseCard selectors module', () => {
it('passes bannerImgSrc, converted to a baseAppUrl', () => {
expect(selected.bannerImgSrc).toEqual(baseAppUrl(testData.bannerImgSrc));
});
it('passes [courseNumber, courseName, website, socialShareUrl]', () => {
it('passes [courseNumber, courseName, socialShareUrl]', () => {
expect(selected.courseNumber).toEqual(testData.courseNumber);
expect(selected.courseName).toEqual(testData.courseName);
expect(selected.website).toEqual(testData.website);
expect(selected.socialShareUrl).toEqual(testData.socialShareUrl);
});
});
@@ -149,7 +147,6 @@ describe('courseCard selectors module', () => {
courseId: 'test-course-id',
isArchived: 'test-is-archived',
isStarted: 'test-is-started',
isFinished: 'test-is-finished',
minPassingGrade: 0.9354,
@@ -169,11 +166,10 @@ describe('courseCard selectors module', () => {
expect(selected.endDate).toEqual(new Date(testData.endDate));
expect(selected.startDate).toEqual(new Date(testData.startDate));
});
it('passes [courseId, isArchived, isStarted, isFinished]', () => {
it('passes [courseId, isArchived, isStarted]', () => {
expect(selected.courseId).toEqual(testData.courseId);
expect(selected.isArchived).toEqual(testData.isArchived);
expect(selected.isStarted).toEqual(testData.isStarted);
expect(selected.isFinished).toEqual(testData.isFinished);
});
it('passes minPassingGrade floored from float to a percentage value', () => {
expect(selected.minPassingGrade).toEqual(93);