From 11044ebdf26e4f159a001d6ea611524b6b4e3b07 Mon Sep 17 00:00:00 2001 From: Nimisha Asthagiri Date: Fri, 10 Apr 2015 17:16:09 -0400 Subject: [PATCH] MA-614 Mobile Push Notification Studio UI --- .../contentstore/features/course-updates.py | 22 ++++----- .../coffee/spec/views/course_info_spec.coffee | 48 +++++++++++++++++-- cms/static/js/factories/course_info.js | 5 +- cms/static/js/models/course_update.js | 4 +- cms/static/js/spec/views/course_info_spec.js | 0 cms/static/js/views/course_info_edit.js | 3 +- cms/static/js/views/course_info_update.js | 41 +++++++++++----- cms/templates/course_info.html | 8 +++- .../js/course_info_update.underscore | 20 +++++--- 9 files changed, 110 insertions(+), 41 deletions(-) delete mode 100644 cms/static/js/spec/views/course_info_spec.js diff --git a/cms/djangoapps/contentstore/features/course-updates.py b/cms/djangoapps/contentstore/features/course-updates.py index 6a39a29fee..afc02aa424 100644 --- a/cms/djangoapps/contentstore/features/course-updates.py +++ b/cms/djangoapps/contentstore/features/course-updates.py @@ -45,37 +45,37 @@ def check_no_update(_step, text): @step(u'I modify the text to "([^"]*)"$') def modify_update(_step, text): - button_css = 'div.post-preview a.edit-button' + button_css = 'div.post-preview .edit-button' world.css_click(button_css) change_text(text) @step(u'I change the update from "([^"]*)" to "([^"]*)"$') def change_existing_update(_step, before, after): - verify_text_in_editor_and_update('div.post-preview a.edit-button', before, after) + verify_text_in_editor_and_update('div.post-preview .edit-button', before, after) @step(u'I change the handout from "([^"]*)" to "([^"]*)"$') def change_existing_handout(_step, before, after): - verify_text_in_editor_and_update('div.course-handouts a.edit-button', before, after) + verify_text_in_editor_and_update('div.course-handouts .edit-button', before, after) @step(u'I delete the update$') def click_button(_step): - button_css = 'div.post-preview a.delete-button' + button_css = 'div.post-preview .delete-button' world.css_click(button_css) @step(u'I edit the date to "([^"]*)"$') def change_date(_step, new_date): - button_css = 'div.post-preview a.edit-button' + button_css = 'div.post-preview .edit-button' world.css_click(button_css) date_css = 'input.date' date = world.css_find(date_css) for i in range(len(date.value)): date._element.send_keys(Keys.END, Keys.BACK_SPACE) date._element.send_keys(new_date) - save_css = 'a.save-button' + save_css = '.save-button' world.css_click(save_css) @@ -87,7 +87,7 @@ def check_date(_step, date): @step(u'I modify the handout to "([^"]*)"$') def edit_handouts(_step, text): - edit_css = 'div.course-handouts > a.edit-button' + edit_css = 'div.course-handouts > .edit-button' world.css_click(edit_css) change_text(text) @@ -114,7 +114,7 @@ def check_handout_error(_step): @step(u'I see handout save button disabled') def check_handout_error(_step): - handout_save_button = 'form.edit-handouts-form a.save-button' + handout_save_button = 'form.edit-handouts-form .save-button' assert world.css_has_class(handout_save_button, 'is-disabled') @@ -125,19 +125,19 @@ def edit_handouts(_step, text): @step(u'I see handout save button re-enabled') def check_handout_error(_step): - handout_save_button = 'form.edit-handouts-form a.save-button' + handout_save_button = 'form.edit-handouts-form .save-button' assert not world.css_has_class(handout_save_button, 'is-disabled') @step(u'I save handout edit') def check_handout_error(_step): - save_css = 'a.save-button' + save_css = '.save-button' world.css_click(save_css) def change_text(text): type_in_codemirror(0, text) - save_css = 'a.save-button' + save_css = '.save-button' world.css_click(save_css) diff --git a/cms/static/coffee/spec/views/course_info_spec.coffee b/cms/static/coffee/spec/views/course_info_spec.coffee index e9846b80d7..8bf4e41f36 100644 --- a/cms/static/coffee/spec/views/course_info_spec.coffee +++ b/cms/static/coffee/spec/views/course_info_spec.coffee @@ -22,7 +22,7 @@ define ["js/views/course_info_handout", "js/views/course_info_update", "js/model delete window.analytics delete window.course_location_analytics - describe "Course Updates", -> + describe "Course Updates without Push notification", -> courseInfoTemplate = readFixtures('course_info_update.underscore') beforeEach -> @@ -100,7 +100,7 @@ define ["js/views/course_info_handout", "js/views/course_info_update", "js/model else modalCover.click() - it "does not rewrite links on save", -> + it "does send expected data on save", -> requests = AjaxHelpers["requests"](this) # Create a new update, verifying that the model is created @@ -116,9 +116,12 @@ define ["js/views/course_info_handout", "js/views/course_info_update", "js/model @courseInfoEdit.$el.find('.save-button').click() expect(model.save).toHaveBeenCalled() - # Verify content sent to server does not have rewritten links. - contentSaved = JSON.parse(requests[requests.length - 1].requestBody).content - expect(contentSaved).toEqual('/static/image.jpg') + # Verify push_notification_selected is set to false. + requestSent = JSON.parse(requests[requests.length - 1].requestBody) + expect(requestSent.push_notification_selected).toEqual(false) + + # Verify the link is not rewritten when saved. + expect(requestSent.content).toEqual('/static/image.jpg') it "does rewrite links for preview", -> # Create a new update. @@ -147,6 +150,41 @@ define ["js/views/course_info_handout", "js/views/course_info_update", "js/model it "does not remove existing course info on click outside modal", -> @cancelExistingCourseInfo(false) + describe "Course Updates WITH Push notification", -> + courseInfoTemplate = readFixtures('course_info_update.underscore') + + beforeEach -> + setFixtures($("