From c37e6957f6a49de9848a432553a487da287f1336 Mon Sep 17 00:00:00 2001 From: Kristin Aoki <42981026+KristinAoki@users.noreply.github.com> Date: Fri, 21 Apr 2023 10:25:01 -0400 Subject: [PATCH] fix: advanced editor not saving (#315) --- .../components/EditProblemView/hooks.js | 2 +- .../components/EditProblemView/hooks.test.js | 30 ++++++++++++++----- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/src/editors/containers/ProblemEditor/components/EditProblemView/hooks.js b/src/editors/containers/ProblemEditor/components/EditProblemView/hooks.js index c38be5e9a..e69ca92c4 100644 --- a/src/editors/containers/ProblemEditor/components/EditProblemView/hooks.js +++ b/src/editors/containers/ProblemEditor/components/EditProblemView/hooks.js @@ -126,7 +126,7 @@ export const getContent = ({ lmsEndpointUrl, }) => { const problem = problemState; - const hasNoAnswers = checkForNoAnswers({ + const hasNoAnswers = isAdvancedProblemType ? false : checkForNoAnswers({ problem, openNoAnswerModal, }); diff --git a/src/editors/containers/ProblemEditor/components/EditProblemView/hooks.test.js b/src/editors/containers/ProblemEditor/components/EditProblemView/hooks.test.js index 7906566b6..8e512ce5f 100644 --- a/src/editors/containers/ProblemEditor/components/EditProblemView/hooks.test.js +++ b/src/editors/containers/ProblemEditor/components/EditProblemView/hooks.test.js @@ -190,17 +190,16 @@ describe('EditProblemView hooks parseState', () => { }); }); describe('getContent', () => { - const problemState = { problemType: ProblemTypeKeys.NUMERIC, answers: [{ id: 'A', title: 'problem', correct: true }] }; - const isAdvancedProblem = false; const assets = {}; const lmsEndpointUrl = 'someUrl'; const editorRef = refMock; const openNoAnswerModal = jest.fn(); - test('default save and returns parseState data', () => { + test('default visual save and returns parseState data', () => { + const problemState = { problemType: ProblemTypeKeys.NUMERIC, answers: [{ id: 'A', title: 'problem', correct: true }] }; const content = hooks.getContent({ + isAdvancedProblemType: false, problemState, - isAdvancedProblem, editorRef, assets, lmsEndpointUrl, @@ -211,11 +210,26 @@ describe('EditProblemView hooks parseState', () => { settings: undefined, }); }); - test('returns null', () => { - const problem = { ...problemState, answers: [{ id: 'A', title: '', correct: true }] }; + test('default advanced save and returns parseState data', () => { + const problemState = { problemType: ProblemTypeKeys.ADVANCED }; const content = hooks.getContent({ - problemState: problem, - isAdvancedProblem, + isAdvancedProblemType: true, + problemState, + editorRef, + assets, + lmsEndpointUrl, + openNoAnswerModal, + }); + expect(content).toEqual({ + olx: 'rawOLX', + settings: undefined, + }); + }); + test('returns null', () => { + const problemState = { problemType: ProblemTypeKeys.NUMERIC, answers: [{ id: 'A', title: '', correct: true }] }; + const content = hooks.getContent({ + isAdvancedProblemType: false, + problemState, editorRef, assets, lmsEndpointUrl,