diff --git a/src/course-unit/CourseUnit.test.jsx b/src/course-unit/CourseUnit.test.jsx index 7ffdd93d72..419bd46987 100644 --- a/src/course-unit/CourseUnit.test.jsx +++ b/src/course-unit/CourseUnit.test.jsx @@ -468,6 +468,10 @@ describe('', () => { id: courseVerticalChildrenMock.children[0].block_id, }); + axiosMock + .onGet(getCourseUnitApiUrl(blockId)) + .reply(200, courseUnitIndexMock); + axiosMock .onPost(postXBlockBaseApiUrl({ parent_locator: blockId, @@ -2174,6 +2178,17 @@ describe('', () => { ? { ...child, block_type: 'html' } : child)); + axiosMock + .onGet(getCourseUnitApiUrl(blockId)) + .reply(200, courseUnitIndexMock); + + axiosMock + .onPost(postXBlockBaseApiUrl({ + parent_locator: blockId, + duplicate_source_locator: courseVerticalChildrenMock.children[0].block_id, + })) + .replyOnce(200, { locator: '1234567890' }); + axiosMock .onGet(getCourseVerticalChildrenApiUrl(blockId)) .reply(200, updatedCourseVerticalChildrenMock); diff --git a/src/course-unit/data/thunk.js b/src/course-unit/data/thunk.js index a0c1dc54ec..ee2c4da655 100644 --- a/src/course-unit/data/thunk.js +++ b/src/course-unit/data/thunk.js @@ -262,6 +262,8 @@ export function duplicateUnitItemQuery(itemId, xblockId, callback) { callback(courseKey, locator); const courseUnit = await getCourseUnitData(itemId); dispatch(fetchCourseItemSuccess(courseUnit)); + const courseVerticalChildrenData = await getCourseVerticalChildren(itemId); + dispatch(updateCourseVerticalChildren(courseVerticalChildrenData)); dispatch(hideProcessingNotification()); dispatch(updateSavingStatus({ status: RequestStatus.SUCCESSFUL })); } catch (error) {