From daee1e105dcd7820de392a293e94ff7b99010d92 Mon Sep 17 00:00:00 2001 From: Awais Ansari <79941147+awais-ansari@users.noreply.github.com> Date: Tue, 26 Oct 2021 22:37:06 +0500 Subject: [PATCH] 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 --- src/pages-and-resources/data/thunks.js | 2 +- .../app-config-form/apps/legacy/LegacyConfigForm.jsx | 12 +++++++++++- .../discussions/app-list/FeatureList.test.jsx | 2 +- .../discussions/app-list/FeaturesTable.test.jsx | 4 ++-- .../discussions/app-list/messages.js | 4 ++-- src/pages-and-resources/discussions/data/api.js | 2 +- .../discussions/data/redux.test.js | 8 ++++---- .../discussions/factories/mockApiResponses.js | 8 ++++---- 8 files changed, 26 insertions(+), 16 deletions(-) diff --git a/src/pages-and-resources/data/thunks.js b/src/pages-and-resources/data/thunks.js index dbcce0bd2..34c2436b9 100644 --- a/src/pages-and-resources/data/thunks.js +++ b/src/pages-and-resources/data/thunks.js @@ -20,9 +20,9 @@ const COURSE_APPS_ORDER = [ 'edxnotes', 'wiki', 'calculator', - 'custom_pages', 'proctoring', 'textbooks', + 'custom_pages', ]; /* eslint-disable import/prefer-default-export */ diff --git a/src/pages-and-resources/discussions/app-config-form/apps/legacy/LegacyConfigForm.jsx b/src/pages-and-resources/discussions/app-config-form/apps/legacy/LegacyConfigForm.jsx index e821a7c6c..a8411ef1f 100644 --- a/src/pages-and-resources/discussions/app-config-form/apps/legacy/LegacyConfigForm.jsx +++ b/src/pages-and-resources/discussions/app-config-form/apps/legacy/LegacyConfigForm.jsx @@ -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 ( onSubmit(values)} diff --git a/src/pages-and-resources/discussions/app-list/FeatureList.test.jsx b/src/pages-and-resources/discussions/app-list/FeatureList.test.jsx index ffa7e9533..a04fa34bb 100644 --- a/src/pages-and-resources/discussions/app-list/FeatureList.test.jsx +++ b/src/pages-and-resources/discussions/app-list/FeatureList.test.jsx @@ -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' }, diff --git a/src/pages-and-resources/discussions/app-list/FeaturesTable.test.jsx b/src/pages-and-resources/discussions/app-list/FeaturesTable.test.jsx index 0eaa8eb38..68a32f901 100644 --- a/src/pages-and-resources/discussions/app-list/FeaturesTable.test.jsx +++ b/src/pages-and-resources/discussions/app-list/FeaturesTable.test.jsx @@ -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( diff --git a/src/pages-and-resources/discussions/app-list/messages.js b/src/pages-and-resources/discussions/app-list/messages.js index 9709f93d9..66f289efb 100644 --- a/src/pages-and-resources/discussions/app-list/messages.js +++ b/src/pages-and-resources/discussions/app-list/messages.js @@ -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.', }, diff --git a/src/pages-and-resources/discussions/data/api.js b/src/pages-and-resources/discussions/data/api.js index 99195ef91..0ca7115e3 100644 --- a/src/pages-and-resources/discussions/data/api.js +++ b/src/pages-and-resources/discussions/data/api.js @@ -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, diff --git a/src/pages-and-resources/discussions/data/redux.test.js b/src/pages-and-resources/discussions/data/redux.test.js index 990d62eba..c551aa00a 100644 --- a/src/pages-and-resources/discussions/data/redux.test.js +++ b/src/pages-and-resources/discussions/data/redux.test.js @@ -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: '', diff --git a/src/pages-and-resources/discussions/factories/mockApiResponses.js b/src/pages-and-resources/discussions/factories/mockApiResponses.js index 1ec561ea4..7e414a1d9 100644 --- a/src/pages-and-resources/discussions/factories/mockApiResponses.js +++ b/src/pages-and-resources/discussions/factories/mockApiResponses.js @@ -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: '',