diff --git a/src/course-home/data/__factories__/outlineTabData.factory.js b/src/course-home/data/__factories__/outlineTabData.factory.js index 0a740c3d..16245f17 100644 --- a/src/course-home/data/__factories__/outlineTabData.factory.js +++ b/src/course-home/data/__factories__/outlineTabData.factory.js @@ -66,4 +66,5 @@ Factory.define('outlineTabData') handouts_html: '', offer: null, welcome_message_html: '

Welcome to this course!

', + mfe_short_url_is_active: true, }); diff --git a/src/course-home/data/__snapshots__/redux.test.js.snap b/src/course-home/data/__snapshots__/redux.test.js.snap index 9c5a1584..a29039ab 100644 --- a/src/course-home/data/__snapshots__/redux.test.js.snap +++ b/src/course-home/data/__snapshots__/redux.test.js.snap @@ -397,29 +397,29 @@ Object { }, "courseBlocks": Object { "courses": Object { - "abcdabcd3": Object { + "block-v1:edX+DemoX+Demo_Course+type@course+block@bcdabcdabcdabcdabcdabcdabcdabcd3": Object { "hasScheduledContent": false, "id": "course-v1:edX+DemoX+Demo_Course_1", "sectionIds": Array [ - "abcdabcd2", + "block-v1:edX+DemoX+Demo_Course+type@chapter+block@bcdabcdabcdabcdabcdabcdabcdabcd2", ], "title": "bcdabcdabcdabcdabcdabcdabcdabcd3", }, }, "sections": Object { - "abcdabcd2": Object { + "block-v1:edX+DemoX+Demo_Course+type@chapter+block@bcdabcdabcdabcdabcdabcdabcdabcd2": Object { "complete": false, "courseId": "course-v1:edX+DemoX+Demo_Course_1", - "id": "abcdabcd2", + "id": "block-v1:edX+DemoX+Demo_Course+type@chapter+block@bcdabcdabcdabcdabcdabcdabcdabcd2", "resumeBlock": false, "sequenceIds": Array [ - "abcdabcd1", + "block-v1:edX+DemoX+Demo_Course+type@sequential+block@bcdabcdabcdabcdabcdabcdabcdabcd1", ], "title": "Title of Section", }, }, "sequences": Object { - "abcdabcd1": Object { + "block-v1:edX+DemoX+Demo_Course+type@sequential+block@bcdabcdabcdabcdabcdabcdabcdabcd1": Object { "complete": false, "description": null, "due": null, @@ -427,9 +427,9 @@ Object { "effortTime": 15, "hash_key": "abcdabcd1", "icon": null, - "id": "abcdabcd1", + "id": "block-v1:edX+DemoX+Demo_Course+type@sequential+block@bcdabcdabcdabcdabcdabcdabcdabcd1", "legacyWebUrl": "http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@sequential+block@bcdabcdabcdabcdabcdabcdabcdabcd1?experience=legacy", - "sectionId": "abcdabcd2", + "sectionId": "block-v1:edX+DemoX+Demo_Course+type@chapter+block@bcdabcdabcdabcdabcdabcdabcdabcd2", "showLink": true, "title": "Title of Sequence", }, @@ -474,6 +474,7 @@ Object { "hasVisitedCourse": false, "url": "http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+Test+Block@12345abcde", }, + "shortLinkFeatureFlag": true, "timeOffsetMillis": 0, "userHasPassingGrade": undefined, "verifiedMode": Object { diff --git a/src/course-home/data/api.js b/src/course-home/data/api.js index a1ce6733..b13c7df3 100644 --- a/src/course-home/data/api.js +++ b/src/course-home/data/api.js @@ -129,7 +129,7 @@ export function normalizeOutlineBlocks(courseId, blocks) { break; case 'sequential': - models.sequences[(block.hash_key || block.id)] = { + models.sequences[block.id] = { complete: block.complete, description: block.description, due: block.due, @@ -168,7 +168,7 @@ export function normalizeOutlineBlocks(courseId, blocks) { if (Array.isArray(section.sequenceIds)) { section.sequenceIds.forEach(sequenceId => { if (sequenceId in models.sequences) { - models.sequences.[sequenceId].sectionId = section.id; + models.sequences[sequenceId].sectionId = section.id; } else { logInfo(`Section ${section.id} has child block ${sequenceId}, but that block is not in the list of sequences.`); } @@ -354,6 +354,7 @@ export async function getOutlineTabData(courseId) { const userHasPassingGrade = data.user_has_passing_grade; const verifiedMode = camelCaseObject(data.verified_mode); const welcomeMessageHtml = data.welcome_message_html; + const shortLinkFeatureFlag = data.mfe_short_url_is_active; return { accessExpiration, @@ -375,6 +376,7 @@ export async function getOutlineTabData(courseId) { userHasPassingGrade, verifiedMode, welcomeMessageHtml, + shortLinkFeatureFlag, }; } diff --git a/src/courseware/data/__factories__/courseMetadata.factory.js b/src/courseware/data/__factories__/courseMetadata.factory.js index 55bd3b34..d2819374 100644 --- a/src/courseware/data/__factories__/courseMetadata.factory.js +++ b/src/courseware/data/__factories__/courseMetadata.factory.js @@ -58,4 +58,5 @@ Factory.define('courseMetadata') is_mfe_special_exams_enabled: false, is_mfe_proctored_exams_enabled: false, recommendations: null, + mfe_short_url_is_active: true, });