diff --git a/cms/static/coffee/spec/views/course_info_spec.coffee b/cms/static/coffee/spec/views/course_info_spec.coffee index 7621684a71167c18b09fb63ddc25cf649715ba12..4d985bdea4f66a0151c3f3e41531e4be06383270 100644 --- a/cms/static/coffee/spec/views/course_info_spec.coffee +++ b/cms/static/coffee/spec/views/course_info_spec.coffee @@ -65,6 +65,19 @@ define ["js/views/course_info_handout", "js/views/course_info_update", "js/model previewContents = @courseInfoEdit.$el.find('.update-contents').html() expect(previewContents).not.toEqual('unsaved changes') + @doNotCloseNewCourseInfo = () -> + @courseInfoEdit.onNew(@event) + spyOn(@courseInfoEdit.$modalCover, 'hide').andCallThrough() + + spyOn(@courseInfoEdit.$codeMirror, 'getValue').andReturn('unsaved changes') + model = @collection.at(0) + spyOn(model, "save").andCallThrough() + + cancelEditingUpdate(@courseInfoEdit, @courseInfoEdit.$modalCover, false) + + expect(model.save).not.toHaveBeenCalled() + expect(@courseInfoEdit.$modalCover.hide).not.toHaveBeenCalled() + @cancelExistingCourseInfo = (useCancelButton) -> @createNewUpdate('existing update') @courseInfoEdit.$el.find('.edit-button').click() @@ -125,8 +138,8 @@ define ["js/views/course_info_handout", "js/views/course_info_update", "js/model it "removes newly created course info on cancel", -> @cancelNewCourseInfo(true) - it "removes newly created course info on click outside modal", -> - @cancelNewCourseInfo(false) + it "do not close new course info on click outside modal", -> + @doNotCloseNewCourseInfo() it "does not remove existing course info on cancel", -> @cancelExistingCourseInfo(true) diff --git a/cms/static/js/views/course_info_update.js b/cms/static/js/views/course_info_update.js index 821d12fcaaf556d596ff304a6561b27e5453e322..8797f99f3d91c35129a1dc5c4de6c262f20dcfc7 100644 --- a/cms/static/js/views/course_info_update.js +++ b/cms/static/js/views/course_info_update.js @@ -64,7 +64,7 @@ define(["js/views/baseview", "underscore", "codemirror", "js/models/course_updat // Variable stored for unit test. this.$modalCover = ModalUtils.showModalCover(false, function() { - self.closeEditor(true) + // Binding empty function to prevent default hideModal. }); $('.date').datepicker('destroy');