fix: initialize default values for legacy app config (#206)

* fix: initialize default values for legacy app config

* refactor: chngae lti-basic-configuration feature name to basic-configuration

* refactor: default legacy configuration object

* refactor: update default allowAnonymousPosts value to false

* fix: update page&resources ordering
This commit is contained in:
Awais Ansari
2021-10-26 22:37:06 +05:00
committed by GitHub
parent bfda00a8b9
commit daee1e105d
8 changed files with 26 additions and 16 deletions

View File

@@ -20,9 +20,9 @@ const COURSE_APPS_ORDER = [
'edxnotes',
'wiki',
'calculator',
'custom_pages',
'proctoring',
'textbooks',
'custom_pages',
];
/* eslint-disable import/prefer-default-export */

View File

@@ -20,6 +20,16 @@ setupYupExtensions();
function LegacyConfigForm({
appConfig, onSubmit, formRef, intl, title,
}) {
const LegacyAppConfig = {
...appConfig,
allowAnonymousPosts: appConfig.allowAnonymousPosts || false,
allowAnonymousPostsPeers: appConfig.allowAnonymousPostsPeers || false,
blackoutDates: appConfig.blackoutDates || [],
discussionTopics: appConfig.discussionTopics || [],
divideByCohorts: appConfig.divideByCohorts || false,
divideCourseTopicsByCohorts: appConfig.divideCourseTopicsByCohorts || false,
};
const [validDiscussionTopics, setValidDiscussionTopics] = useState(appConfig.discussionTopics);
const legacyFormValidationSchema = Yup.object().shape({
blackoutDates: Yup.array(
@@ -53,7 +63,7 @@ function LegacyConfigForm({
return (
<Formik
initialValues={appConfig}
initialValues={LegacyAppConfig}
validateOnChange={false}
validationSchema={legacyFormValidationSchema}
onSubmit={(values) => onSubmit(values)}

View File

@@ -15,7 +15,7 @@ describe('FeaturesList', () => {
id: 'legacy',
};
const features = [
{ id: 'lti-basic-configuration' },
{ id: 'basic-configuration' },
{ id: 'wcag-2.1' },
{ id: 'discussion-page' },
{ id: 'embedded-course-sections' },

View File

@@ -19,7 +19,7 @@ describe('FeaturesTable', () => {
},
{
externalLinks: {},
featureIds: ['discussion-page', 'lti-basic-configuration'],
featureIds: ['discussion-page', 'basic-configuration'],
hasFullSupport: false,
id: 'piazza',
}];
@@ -28,7 +28,7 @@ describe('FeaturesTable', () => {
{ id: 'discussion-page', featureSupportType: 'basic' },
{ id: 'embedded-course-sections', featureSupportType: 'full' },
{ id: 'wcag-2.1', featureSupportType: 'partial' },
{ id: 'lti-basic-configuration', featureSupportType: 'common' },
{ id: 'basic-configuration', featureSupportType: 'common' },
];
const wrapper = render(

View File

@@ -189,8 +189,8 @@ const messages = defineMessages({
defaultMessage: 'LTI advanced sharing',
description: 'The name of a discussions feature.',
},
'featureName-lti-basic-configuration': {
id: 'authoring.discussions.featureName-lti-basic-configuration',
'featureName-basic-configuration': {
id: 'authoring.discussions.featureName-basic-configuration',
defaultMessage: 'Basic configuration',
description: 'The name of a discussions feature.',
},

View File

@@ -70,7 +70,7 @@ function normalizePluginConfig(data) {
const discussionDividedTopicsCount = _.size(data.divided_course_wide_discussions);
const discussionTopicsCount = _.size(data.discussion_topics);
const enableDivideCourseTopicsByCohorts = (
discussionDividedTopicsCount && discussionDividedTopicsCount !== discussionTopicsCount
discussionDividedTopicsCount && (discussionDividedTopicsCount !== discussionTopicsCount)
);
return {
allowAnonymousPosts: data.allow_anonymous,

View File

@@ -28,8 +28,8 @@ const featuresState = {
featureSupportType: 'partial',
},
'lti-basic-configuration': {
id: 'lti-basic-configuration',
'basic-configuration': {
id: 'basic-configuration',
featureSupportType: 'common',
},
@@ -39,7 +39,7 @@ const featureIds = [
'discussion-page',
'embedded-course-sections',
'wcag-2.1',
'lti-basic-configuration',
'basic-configuration',
];
const legacyApp = {
@@ -68,7 +68,7 @@ const piazzaApp = {
'discussion-page',
'embedded-course-sections',
'wcag-2.1',
'lti-basic-configuration',
'basic-configuration',
],
externalLinks: {
learnMore: '',

View File

@@ -6,7 +6,7 @@ export const generatePiazzaApiResponse = (piazzaAdminOnlyConfig = false) => ({
{ id: 'discussion-page', feature_support_type: 'basic' },
{ id: 'embedded-course-sections', feature_support_type: 'full' },
{ id: 'wcag-2.1', feature_support_type: 'partial' },
{ id: 'lti-basic-configuration', feature_support_type: 'common' },
{ id: 'basic-configuration', feature_support_type: 'common' },
],
lti_configuration: {
lti_1p1_client_key: 'client_key_123',
@@ -40,7 +40,7 @@ export const generatePiazzaApiResponse = (piazzaAdminOnlyConfig = false) => ({
'discussion-page',
'embedded-course-sections',
'wcag-2.1',
'lti-basic-configuration',
'basic-configuration',
],
external_links: {
learn_more: '',
@@ -82,7 +82,7 @@ export const legacyApiResponse = {
{ id: 'discussion-page', feature_support_type: 'basic' },
{ id: 'embedded-course-sections', feature_support_type: 'full' },
{ id: 'wcag-2.1', feature_support_type: 'partial' },
{ id: 'lti-basic-configuration', feature_support_type: 'common' },
{ id: 'basic-configuration', feature_support_type: 'common' },
],
lti_configuration: {},
plugin_configuration: {
@@ -129,7 +129,7 @@ export const legacyApiResponse = {
'discussion-page',
'embedded-course-sections',
'wcag-2.1',
'lti-basic-configuration',
'basic-configuration',
],
external_links: {
learn_more: '',