From aca3519a7d610cb12b82d9ff802d49c954f6ebb9 Mon Sep 17 00:00:00 2001 From: David Joy Date: Thu, 6 Aug 2020 17:24:41 -0400 Subject: [PATCH] Improving some imports. --- src/course-home/data/redux.test.js | 2 +- src/course-home/data/thunks.js | 2 +- src/course/index.js | 12 +++++++++++- src/courseware/CoursewareContainer.jsx | 2 +- src/courseware/data/thunks.js | 16 +++++++++------- 5 files changed, 23 insertions(+), 11 deletions(-) diff --git a/src/course-home/data/redux.test.js b/src/course-home/data/redux.test.js index b7f4177d..94a42f26 100644 --- a/src/course-home/data/redux.test.js +++ b/src/course-home/data/redux.test.js @@ -10,7 +10,7 @@ import executeThunk from '../../utils'; import initializeMockApp from '../../setupTest'; import initializeStore from '../../store'; -import { LOADING, FAILED } from '../../course/data/slice'; +import { LOADING, FAILED } from '../../course'; const { loggingService } = initializeMockApp(); diff --git a/src/course-home/data/thunks.js b/src/course-home/data/thunks.js index 7f611370..589155bf 100644 --- a/src/course-home/data/thunks.js +++ b/src/course-home/data/thunks.js @@ -17,7 +17,7 @@ import { fetchCourseRequest, fetchCourseSuccess, fetchCourseFailure, -} from '../../course/data/slice'; +} from '../../course'; import { toggleResetDatesToast, diff --git a/src/course/index.js b/src/course/index.js index 3d0db911..41406344 100644 --- a/src/course/index.js +++ b/src/course/index.js @@ -1,2 +1,12 @@ export { activeCourseSelector } from './data/selectors'; -export { reducer } from './data/slice'; +export { + reducer, + LOADING, + LOADED, + FAILED, + DENIED, + fetchCourseRequest, + fetchCourseSuccess, + fetchCourseFailure, + fetchCourseDenied, +} from './data/slice'; diff --git a/src/courseware/CoursewareContainer.jsx b/src/courseware/CoursewareContainer.jsx index 66765bd5..3e3bd629 100644 --- a/src/courseware/CoursewareContainer.jsx +++ b/src/courseware/CoursewareContainer.jsx @@ -18,7 +18,7 @@ import { TabPage } from '../tab-page'; import Course from './course'; import { handleNextSectionCelebration } from './course/celebration'; -import { activeCourseSelector } from '../course/data/selectors'; +import { activeCourseSelector } from '../course'; const checkExamRedirect = memoize((sequenceStatus, sequence) => { if (sequenceStatus === 'loaded') { diff --git a/src/courseware/data/thunks.js b/src/courseware/data/thunks.js index 117bf299..c2d9719c 100644 --- a/src/courseware/data/thunks.js +++ b/src/courseware/data/thunks.js @@ -14,13 +14,15 @@ import { fetchCourseSuccess, fetchCourseFailure, fetchCourseDenied, -} from '../../course/data/slice'; +} from '../../course'; import { fetchSequenceRequest, fetchSequenceSuccess, fetchSequenceFailure, } from './slice'; +const FULFILLED = 'fulfilled'; + export function fetchCourse(courseId) { return async (dispatch) => { dispatch(fetchCourseRequest({ courseId })); @@ -28,14 +30,17 @@ export function fetchCourse(courseId) { getCourseMetadata(courseId), getCourseBlocks(courseId), ]).then(([courseMetadataResult, courseBlocksResult]) => { - if (courseMetadataResult.status === 'fulfilled') { + const fetchedMetadata = courseMetadataResult.status === FULFILLED; + const fetchedBlocks = courseBlocksResult.status === FULFILLED; + + if (fetchedMetadata) { dispatch(addModel({ modelType: 'courses', model: courseMetadataResult.value, })); } - if (courseBlocksResult.status === 'fulfilled') { + if (fetchedBlocks) { const { courses, sections, sequences, units, } = courseBlocksResult.value; @@ -60,9 +65,6 @@ export function fetchCourse(courseId) { })); } - const fetchedMetadata = courseMetadataResult.status === 'fulfilled'; - const fetchedBlocks = courseBlocksResult.status === 'fulfilled'; - // Log errors for each request if needed. Course block failures may occur // even if the course metadata request is successful if (!fetchedBlocks) { @@ -74,7 +76,7 @@ export function fetchCourse(courseId) { if (fetchedMetadata) { if (courseMetadataResult.value.canLoadCourseware.hasAccess && fetchedBlocks) { - // User has access + // User has access - we dispatch this at the end now that all the data is loaded. dispatch(fetchCourseSuccess({ courseId })); return; }