diff --git a/common/lib/xmodule/xmodule/js/fixtures/problem-with-markdown.html b/common/lib/xmodule/xmodule/js/fixtures/problem-with-markdown.html new file mode 100644 index 0000000000..be4fcd5ecc --- /dev/null +++ b/common/lib/xmodule/xmodule/js/fixtures/problem-with-markdown.html @@ -0,0 +1,6 @@ +
+
+ + +
+
\ No newline at end of file diff --git a/common/lib/xmodule/xmodule/js/fixtures/problem-without-markdown.html b/common/lib/xmodule/xmodule/js/fixtures/problem-without-markdown.html new file mode 100644 index 0000000000..06225e99b6 --- /dev/null +++ b/common/lib/xmodule/xmodule/js/fixtures/problem-without-markdown.html @@ -0,0 +1,5 @@ +
+
+ +
+
\ No newline at end of file diff --git a/common/lib/xmodule/xmodule/js/spec/problem/edit_spec.coffee b/common/lib/xmodule/xmodule/js/spec/problem/edit_spec.coffee index 3289c5fe7d..01a129e284 100644 --- a/common/lib/xmodule/xmodule/js/spec/problem/edit_spec.coffee +++ b/common/lib/xmodule/xmodule/js/spec/problem/edit_spec.coffee @@ -1,4 +1,24 @@ describe 'MarkdownEditingDescriptor', -> + describe 'save stores the correct data', -> + it 'saves markdown from markdown editor', -> + loadFixtures 'problem-with-markdown.html' + @descriptor = new MarkdownEditingDescriptor($('.problem-editor')) + saveResult = @descriptor.save() + expect(saveResult.metadata.markdown).toEqual('markdown') + expect(saveResult.data).toEqual('\n

markdown

\n
') + it 'clears markdown when xml editor is selected', -> + loadFixtures 'problem-with-markdown.html' + @descriptor = new MarkdownEditingDescriptor($('.problem-editor')) + @descriptor.createXMLEditor('replace with markdown') + saveResult = @descriptor.save() + expect(saveResult.metadata.markdown).toEqual(null) + expect(saveResult.data).toEqual('replace with markdown') + it 'saves xml from the xml editor', -> + loadFixtures 'problem-without-markdown.html' + @descriptor = new MarkdownEditingDescriptor($('.problem-editor')) + saveResult = @descriptor.save() + expect(saveResult.metadata.markdown).toEqual(null) + expect(saveResult.data).toEqual('xml only') describe 'insertMultipleChoice', -> it 'inserts the template if selection is empty', ->