feat: add temporary flag for enabling/disabling proctored exams (#464)

This commit is contained in:
Ihor Romaniuk
2021-06-14 17:42:53 +03:00
committed by GitHub
parent 26e1eb64c5
commit 432cb669f5
7 changed files with 36 additions and 7 deletions

View File

@@ -58,4 +58,5 @@ Factory.define('courseMetadata')
related_programs: null,
user_needs_integrity_signature: false,
is_mfe_special_exams_enabled: false,
is_mfe_proctored_exams_enabled: false,
});

View File

@@ -153,6 +153,7 @@ function normalizeMetadata(metadata) {
relatedPrograms: camelCaseObject(metadata.related_programs),
userNeedsIntegritySignature: metadata.user_needs_integrity_signature,
specialExamsEnabledWaffleFlag: metadata.is_mfe_special_exams_enabled,
proctoredExamsEnabledWaffleFlag: metadata.is_mfe_proctored_exams_enabled,
};
}
@@ -183,6 +184,7 @@ function normalizeSequenceMetadata(sequence) {
*/
gatedContent: camelCaseObject(sequence.gated_content),
isTimeLimited: sequence.is_time_limited,
isProctored: sequence.is_proctored,
// Position comes back from the server 1-indexed. Adjust here.
activeUnitIndex: sequence.position ? sequence.position - 1 : 0,
saveUnitPosition: sequence.save_position,

View File

@@ -14,11 +14,15 @@ const slice = createSlice({
sequenceStatus: 'loading',
sequenceId: null,
specialExamsEnabledWaffleFlag: false,
proctoredExamsEnabledWaffleFlag: false,
},
reducers: {
setsSpecialExamsEnabled: (state, { payload }) => {
state.specialExamsEnabledWaffleFlag = payload.specialExamsEnabledWaffleFlag;
},
setsProctoredExamsEnabled: (state, { payload }) => {
state.proctoredExamsEnabledWaffleFlag = payload.proctoredExamsEnabledWaffleFlag;
},
fetchCourseRequest: (state, { payload }) => {
state.courseId = payload.courseId;
state.courseStatus = LOADING;
@@ -52,6 +56,7 @@ const slice = createSlice({
export const {
setsSpecialExamsEnabled,
setsProctoredExamsEnabled,
fetchCourseRequest,
fetchCourseSuccess,
fetchCourseFailure,

View File

@@ -12,6 +12,7 @@ import {
} from '../../generic/model-store';
import {
setsSpecialExamsEnabled,
setsProctoredExamsEnabled,
fetchCourseRequest,
fetchCourseSuccess,
fetchCourseFailure,
@@ -36,6 +37,9 @@ export function fetchCourse(courseId) {
dispatch(setsSpecialExamsEnabled({
specialExamsEnabledWaffleFlag: courseMetadataResult.value.specialExamsEnabledWaffleFlag,
}));
dispatch(setsProctoredExamsEnabled({
proctoredExamsEnabledWaffleFlag: courseMetadataResult.value.proctoredExamsEnabledWaffleFlag,
}));
}
if (courseBlocksResult.status === 'fulfilled') {