From f88526aa3a82b36a03495e2b79a52c4f8c2c3249 Mon Sep 17 00:00:00 2001 From: Alex Dusenbery Date: Wed, 23 Jan 2019 09:53:02 -0500 Subject: [PATCH] Include expired course modes when fetching data from course enrollment API. --- README.md | 7 +++++++ src/data/actions/tracks.test.js | 5 +++-- src/data/services/LmsApiService.js | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e4836eb..1d7b7c7 100755 --- a/README.md +++ b/README.md @@ -49,6 +49,13 @@ in which you'd like to enable the gradebook. Add a course override flag using a ``grades.writable_gradebook``. Make sure to check the ``enabled`` box. Alternatively, you could add this as a regular waffle flag to enable the gradebook for all courses. +## Running tests + +1. Assuming that you're operating in the context of the edX devstack, +run `gradebook-shell` from your devstack directory. This will start a bash shell inside your +running gradebook container. +2. Run `make test` (which executes `npm run test`). This will run all of the gradebook tests. + ## Directory Structure * `config` diff --git a/src/data/actions/tracks.test.js b/src/data/actions/tracks.test.js index 891b07e..ee1e17c 100644 --- a/src/data/actions/tracks.test.js +++ b/src/data/actions/tracks.test.js @@ -21,6 +21,7 @@ describe('actions', () => { describe('fetchTracks', () => { const courseId = 'course-v1:edX+DemoX+Demo_Course'; + const trackUrl = `${configuration.LMS_BASE_URL}/api/enrollment/v1/course/${courseId}?include_expired=1`; it('dispatches success action after fetching tracks', () => { const responseData = { @@ -54,7 +55,7 @@ describe('actions', () => { ]; const store = mockStore(); - axiosMock.onGet(`${configuration.LMS_BASE_URL}/api/enrollment/v1/course/${courseId}`) + axiosMock.onGet(trackUrl) .replyOnce(200, JSON.stringify(responseData)); return store.dispatch(fetchTracks(courseId)).then(() => { @@ -69,7 +70,7 @@ describe('actions', () => { ]; const store = mockStore(); - axiosMock.onGet(`${configuration.LMS_BASE_URL}/api/enrollment/v1/course/${courseId}`) + axiosMock.onGet(trackUrl) .replyOnce(500, JSON.stringify({})); return store.dispatch(fetchTracks(courseId)).then(() => { diff --git a/src/data/services/LmsApiService.js b/src/data/services/LmsApiService.js index 3ca9700..547ea1b 100644 --- a/src/data/services/LmsApiService.js +++ b/src/data/services/LmsApiService.js @@ -46,7 +46,7 @@ class LmsApiService { } static fetchTracks(courseId) { - const trackUrl = `${LmsApiService.baseUrl}/api/enrollment/v1/course/${courseId}`; + const trackUrl = `${LmsApiService.baseUrl}/api/enrollment/v1/course/${courseId}?include_expired=1`; return apiClient.get(trackUrl); }