Merge pull request #1137 from mailpoet/eslint4

Eslint for tests [MAILPOET-1083]
This commit is contained in:
stoletniy
2017-10-11 10:00:53 +03:00
committed by GitHub
21 changed files with 323 additions and 332 deletions

View File

@ -9,20 +9,12 @@
}, },
"rules": { "rules": {
"import/no-amd": 0, "import/no-amd": 0,
"no-whitespace-before-property": 0,
"global-require": 0, "global-require": 0,
"keyword-spacing": 0,
"no-bitwise": 0, "no-bitwise": 0,
"no-spaced-func": 0,
"func-call-spacing": 0,
"max-len": 0, "max-len": 0,
"space-unary-ops": 0,
"no-underscore-dangle": 0, "no-underscore-dangle": 0,
"no-shadow": 0, "no-shadow": 0,
"padded-blocks": 0, "padded-blocks": 0,
"space-before-blocks": 0, "func-names": 0
"object-curly-spacing": 0,
"func-names": 0,
"space-before-function-paren": 0
} }
} }

View File

@ -51,8 +51,7 @@ define([
.on('resizestart', function () { .on('resizestart', function () {
that.isBeingResized = true; that.isBeingResized = true;
that.$el.addClass('mailpoet_resize_active'); that.$el.addClass('mailpoet_resize_active');
}) }).on('resizemove', function (event) {
.on('resizemove', function (event) {
var onResize = that.options.onResize.bind(that); var onResize = that.options.onResize.bind(that);
return onResize(event); return onResize(event);
}) })

View File

@ -52,9 +52,9 @@ global.interact = function () {
styleCursor: global.interact styleCursor: global.interact
}; };
}; };
global.spectrum = function() { return this; }; global.spectrum = function () { return this; };
jQuery.fn.spectrum = global.spectrum; jQuery.fn.spectrum = global.spectrum;
jQuery.fn.stick_in_parent = function() { return this; }; jQuery.fn.stick_in_parent = function () { return this; };
// Add global stubs for convenience // Add global stubs for convenience
// TODO: Extract those to a separate file // TODO: Extract those to a separate file
@ -78,18 +78,18 @@ global.stubAvailableStyles = function (EditorApplication, styles) {
App.getAvailableStyles = sinon.stub().returns(new global.Backbone.SuperModel(styles || {})); App.getAvailableStyles = sinon.stub().returns(new global.Backbone.SuperModel(styles || {}));
}; };
global.stubImage = function(defaultWidth, defaultHeight) { global.stubImage = function (defaultWidth, defaultHeight) {
global.Image = function() { global.Image = function () {
this.onload = function() {}; this.onload = function () {};
this.naturalWidth = defaultWidth; this.naturalWidth = defaultWidth;
this.naturalHeight = defaultHeight; this.naturalHeight = defaultHeight;
this.address = ''; this.address = '';
Object.defineProperty(this, 'src', { Object.defineProperty(this, 'src', {
get: function() { get: function () {
return this.address; return this.address;
}, },
set: function(src) { set: function (src) {
this.address = src; this.address = src;
this.onload(); this.onload();
} }
@ -98,73 +98,73 @@ global.stubImage = function(defaultWidth, defaultHeight) {
}; };
testHelpers.loadTemplate('blocks/base/toolsGeneric.hbs', window, {id: 'newsletter_editor_template_tools_generic'}); testHelpers.loadTemplate('blocks/base/toolsGeneric.hbs', window, { id: 'newsletter_editor_template_tools_generic' });
testHelpers.loadTemplate('blocks/automatedLatestContent/block.hbs', window, {id: 'newsletter_editor_template_automated_latest_content_block'}); testHelpers.loadTemplate('blocks/automatedLatestContent/block.hbs', window, { id: 'newsletter_editor_template_automated_latest_content_block' });
testHelpers.loadTemplate('blocks/automatedLatestContent/widget.hbs', window, {id: 'newsletter_editor_template_automated_latest_content_widget'}); testHelpers.loadTemplate('blocks/automatedLatestContent/widget.hbs', window, { id: 'newsletter_editor_template_automated_latest_content_widget' });
testHelpers.loadTemplate('blocks/automatedLatestContent/settings.hbs', window, {id: 'newsletter_editor_template_automated_latest_content_settings'}); testHelpers.loadTemplate('blocks/automatedLatestContent/settings.hbs', window, { id: 'newsletter_editor_template_automated_latest_content_settings' });
testHelpers.loadTemplate('blocks/button/block.hbs', window, {id: 'newsletter_editor_template_button_block'}); testHelpers.loadTemplate('blocks/button/block.hbs', window, { id: 'newsletter_editor_template_button_block' });
testHelpers.loadTemplate('blocks/button/widget.hbs', window, {id: 'newsletter_editor_template_button_widget'}); testHelpers.loadTemplate('blocks/button/widget.hbs', window, { id: 'newsletter_editor_template_button_widget' });
testHelpers.loadTemplate('blocks/button/settings.hbs', window, {id: 'newsletter_editor_template_button_settings'}); testHelpers.loadTemplate('blocks/button/settings.hbs', window, { id: 'newsletter_editor_template_button_settings' });
testHelpers.loadTemplate('blocks/container/block.hbs', window, {id: 'newsletter_editor_template_container_block'}); testHelpers.loadTemplate('blocks/container/block.hbs', window, { id: 'newsletter_editor_template_container_block' });
testHelpers.loadTemplate('blocks/container/emptyBlock.hbs', window, {id: 'newsletter_editor_template_container_block_empty'}); testHelpers.loadTemplate('blocks/container/emptyBlock.hbs', window, { id: 'newsletter_editor_template_container_block_empty' });
testHelpers.loadTemplate('blocks/container/oneColumnLayoutWidget.hbs', window, {id: 'newsletter_editor_template_container_one_column_widget'}); testHelpers.loadTemplate('blocks/container/oneColumnLayoutWidget.hbs', window, { id: 'newsletter_editor_template_container_one_column_widget' });
testHelpers.loadTemplate('blocks/container/twoColumnLayoutWidget.hbs', window, {id: 'newsletter_editor_template_container_two_column_widget'}); testHelpers.loadTemplate('blocks/container/twoColumnLayoutWidget.hbs', window, { id: 'newsletter_editor_template_container_two_column_widget' });
testHelpers.loadTemplate('blocks/container/threeColumnLayoutWidget.hbs', window, {id: 'newsletter_editor_template_container_three_column_widget'}); testHelpers.loadTemplate('blocks/container/threeColumnLayoutWidget.hbs', window, { id: 'newsletter_editor_template_container_three_column_widget' });
testHelpers.loadTemplate('blocks/container/settings.hbs', window, {id: 'newsletter_editor_template_container_settings'}); testHelpers.loadTemplate('blocks/container/settings.hbs', window, { id: 'newsletter_editor_template_container_settings' });
testHelpers.loadTemplate('blocks/container/columnSettings.hbs', window, {id: 'newsletter_editor_template_container_column_settings'}); testHelpers.loadTemplate('blocks/container/columnSettings.hbs', window, { id: 'newsletter_editor_template_container_column_settings' });
testHelpers.loadTemplate('blocks/divider/block.hbs', window, {id: 'newsletter_editor_template_divider_block'}); testHelpers.loadTemplate('blocks/divider/block.hbs', window, { id: 'newsletter_editor_template_divider_block' });
testHelpers.loadTemplate('blocks/divider/widget.hbs', window, {id: 'newsletter_editor_template_divider_widget'}); testHelpers.loadTemplate('blocks/divider/widget.hbs', window, { id: 'newsletter_editor_template_divider_widget' });
testHelpers.loadTemplate('blocks/divider/settings.hbs', window, {id: 'newsletter_editor_template_divider_settings'}); testHelpers.loadTemplate('blocks/divider/settings.hbs', window, { id: 'newsletter_editor_template_divider_settings' });
testHelpers.loadTemplate('blocks/footer/block.hbs', window, {id: 'newsletter_editor_template_footer_block'}); testHelpers.loadTemplate('blocks/footer/block.hbs', window, { id: 'newsletter_editor_template_footer_block' });
testHelpers.loadTemplate('blocks/footer/widget.hbs', window, {id: 'newsletter_editor_template_footer_widget'}); testHelpers.loadTemplate('blocks/footer/widget.hbs', window, { id: 'newsletter_editor_template_footer_widget' });
testHelpers.loadTemplate('blocks/footer/settings.hbs', window, {id: 'newsletter_editor_template_footer_settings'}); testHelpers.loadTemplate('blocks/footer/settings.hbs', window, { id: 'newsletter_editor_template_footer_settings' });
testHelpers.loadTemplate('blocks/header/block.hbs', window, {id: 'newsletter_editor_template_header_block'}); testHelpers.loadTemplate('blocks/header/block.hbs', window, { id: 'newsletter_editor_template_header_block' });
testHelpers.loadTemplate('blocks/header/widget.hbs', window, {id: 'newsletter_editor_template_header_widget'}); testHelpers.loadTemplate('blocks/header/widget.hbs', window, { id: 'newsletter_editor_template_header_widget' });
testHelpers.loadTemplate('blocks/header/settings.hbs', window, {id: 'newsletter_editor_template_header_settings'}); testHelpers.loadTemplate('blocks/header/settings.hbs', window, { id: 'newsletter_editor_template_header_settings' });
testHelpers.loadTemplate('blocks/image/block.hbs', window, {id: 'newsletter_editor_template_image_block'}); testHelpers.loadTemplate('blocks/image/block.hbs', window, { id: 'newsletter_editor_template_image_block' });
testHelpers.loadTemplate('blocks/image/widget.hbs', window, {id: 'newsletter_editor_template_image_widget'}); testHelpers.loadTemplate('blocks/image/widget.hbs', window, { id: 'newsletter_editor_template_image_widget' });
testHelpers.loadTemplate('blocks/image/settings.hbs', window, {id: 'newsletter_editor_template_image_settings'}); testHelpers.loadTemplate('blocks/image/settings.hbs', window, { id: 'newsletter_editor_template_image_settings' });
testHelpers.loadTemplate('blocks/posts/block.hbs', window, {id: 'newsletter_editor_template_posts_block'}); testHelpers.loadTemplate('blocks/posts/block.hbs', window, { id: 'newsletter_editor_template_posts_block' });
testHelpers.loadTemplate('blocks/posts/widget.hbs', window, {id: 'newsletter_editor_template_posts_widget'}); testHelpers.loadTemplate('blocks/posts/widget.hbs', window, { id: 'newsletter_editor_template_posts_widget' });
testHelpers.loadTemplate('blocks/posts/settings.hbs', window, {id: 'newsletter_editor_template_posts_settings'}); testHelpers.loadTemplate('blocks/posts/settings.hbs', window, { id: 'newsletter_editor_template_posts_settings' });
testHelpers.loadTemplate('blocks/posts/settingsDisplayOptions.hbs', window, {id: 'newsletter_editor_template_posts_settings_display_options'}); testHelpers.loadTemplate('blocks/posts/settingsDisplayOptions.hbs', window, { id: 'newsletter_editor_template_posts_settings_display_options' });
testHelpers.loadTemplate('blocks/posts/settingsSelection.hbs', window, {id: 'newsletter_editor_template_posts_settings_selection'}); testHelpers.loadTemplate('blocks/posts/settingsSelection.hbs', window, { id: 'newsletter_editor_template_posts_settings_selection' });
testHelpers.loadTemplate('blocks/posts/settingsSelectionEmpty.hbs', window, {id: 'newsletter_editor_template_posts_settings_selection_empty'}); testHelpers.loadTemplate('blocks/posts/settingsSelectionEmpty.hbs', window, { id: 'newsletter_editor_template_posts_settings_selection_empty' });
testHelpers.loadTemplate('blocks/posts/settingsSinglePost.hbs', window, {id: 'newsletter_editor_template_posts_settings_single_post'}); testHelpers.loadTemplate('blocks/posts/settingsSinglePost.hbs', window, { id: 'newsletter_editor_template_posts_settings_single_post' });
testHelpers.loadTemplate('blocks/social/block.hbs', window, {id: 'newsletter_editor_template_social_block'}); testHelpers.loadTemplate('blocks/social/block.hbs', window, { id: 'newsletter_editor_template_social_block' });
testHelpers.loadTemplate('blocks/social/blockIcon.hbs', window, {id: 'newsletter_editor_template_social_block_icon'}); testHelpers.loadTemplate('blocks/social/blockIcon.hbs', window, { id: 'newsletter_editor_template_social_block_icon' });
testHelpers.loadTemplate('blocks/social/widget.hbs', window, {id: 'newsletter_editor_template_social_widget'}); testHelpers.loadTemplate('blocks/social/widget.hbs', window, { id: 'newsletter_editor_template_social_widget' });
testHelpers.loadTemplate('blocks/social/settings.hbs', window, {id: 'newsletter_editor_template_social_settings'}); testHelpers.loadTemplate('blocks/social/settings.hbs', window, { id: 'newsletter_editor_template_social_settings' });
testHelpers.loadTemplate('blocks/social/settingsIcon.hbs', window, {id: 'newsletter_editor_template_social_settings_icon'}); testHelpers.loadTemplate('blocks/social/settingsIcon.hbs', window, { id: 'newsletter_editor_template_social_settings_icon' });
testHelpers.loadTemplate('blocks/social/settingsIconSelector.hbs', window, {id: 'newsletter_editor_template_social_settings_icon_selector'}); testHelpers.loadTemplate('blocks/social/settingsIconSelector.hbs', window, { id: 'newsletter_editor_template_social_settings_icon_selector' });
testHelpers.loadTemplate('blocks/social/settingsStyles.hbs', window, {id: 'newsletter_editor_template_social_settings_styles'}); testHelpers.loadTemplate('blocks/social/settingsStyles.hbs', window, { id: 'newsletter_editor_template_social_settings_styles' });
testHelpers.loadTemplate('blocks/spacer/block.hbs', window, {id: 'newsletter_editor_template_spacer_block'}); testHelpers.loadTemplate('blocks/spacer/block.hbs', window, { id: 'newsletter_editor_template_spacer_block' });
testHelpers.loadTemplate('blocks/spacer/widget.hbs', window, {id: 'newsletter_editor_template_spacer_widget'}); testHelpers.loadTemplate('blocks/spacer/widget.hbs', window, { id: 'newsletter_editor_template_spacer_widget' });
testHelpers.loadTemplate('blocks/spacer/settings.hbs', window, {id: 'newsletter_editor_template_spacer_settings'}); testHelpers.loadTemplate('blocks/spacer/settings.hbs', window, { id: 'newsletter_editor_template_spacer_settings' });
testHelpers.loadTemplate('blocks/text/block.hbs', window, {id: 'newsletter_editor_template_text_block'}); testHelpers.loadTemplate('blocks/text/block.hbs', window, { id: 'newsletter_editor_template_text_block' });
testHelpers.loadTemplate('blocks/text/widget.hbs', window, {id: 'newsletter_editor_template_text_widget'}); testHelpers.loadTemplate('blocks/text/widget.hbs', window, { id: 'newsletter_editor_template_text_widget' });
testHelpers.loadTemplate('blocks/text/settings.hbs', window, {id: 'newsletter_editor_template_text_settings'}); testHelpers.loadTemplate('blocks/text/settings.hbs', window, { id: 'newsletter_editor_template_text_settings' });
testHelpers.loadTemplate('components/heading.hbs', window, {id: 'newsletter_editor_template_heading'}); testHelpers.loadTemplate('components/heading.hbs', window, { id: 'newsletter_editor_template_heading' });
testHelpers.loadTemplate('components/save.hbs', window, {id: 'newsletter_editor_template_save'}); testHelpers.loadTemplate('components/save.hbs', window, { id: 'newsletter_editor_template_save' });
testHelpers.loadTemplate('components/styles.hbs', window, {id: 'newsletter_editor_template_styles'}); testHelpers.loadTemplate('components/styles.hbs', window, { id: 'newsletter_editor_template_styles' });
testHelpers.loadTemplate('components/sidebar/sidebar.hbs', window, {id: 'newsletter_editor_template_sidebar'}); testHelpers.loadTemplate('components/sidebar/sidebar.hbs', window, { id: 'newsletter_editor_template_sidebar' });
testHelpers.loadTemplate('components/sidebar/content.hbs', window, {id: 'newsletter_editor_template_sidebar_content'}); testHelpers.loadTemplate('components/sidebar/content.hbs', window, { id: 'newsletter_editor_template_sidebar_content' });
testHelpers.loadTemplate('components/sidebar/layout.hbs', window, {id: 'newsletter_editor_template_sidebar_layout'}); testHelpers.loadTemplate('components/sidebar/layout.hbs', window, { id: 'newsletter_editor_template_sidebar_layout' });
testHelpers.loadTemplate('components/sidebar/preview.hbs', window, {id: 'newsletter_editor_template_sidebar_preview'}); testHelpers.loadTemplate('components/sidebar/preview.hbs', window, { id: 'newsletter_editor_template_sidebar_preview' });
testHelpers.loadTemplate('components/sidebar/styles.hbs', window, {id: 'newsletter_editor_template_sidebar_styles'}); testHelpers.loadTemplate('components/sidebar/styles.hbs', window, { id: 'newsletter_editor_template_sidebar_styles' });
global.templates = { global.templates = {

View File

@ -9,7 +9,7 @@ define([
'newsletter_editor/blocks/container', 'newsletter_editor/blocks/container',
'amd-inject-loader!newsletter_editor/blocks/automatedLatestContent', 'amd-inject-loader!newsletter_editor/blocks/automatedLatestContent',
'newsletter_editor/components/communication' 'newsletter_editor/components/communication'
], function( ], function (
App, App,
AutomatedLatestContentBlock, AutomatedLatestContentBlock,
ContainerBlock, ContainerBlock,
@ -19,19 +19,19 @@ define([
var EditorApplication = App; var EditorApplication = App;
var CommunicationComponent = Communication; var CommunicationComponent = Communication;
describe('Automated Latest Content Supervisor', function() { describe('Automated Latest Content Supervisor', function () {
var model; var model;
var mock; var mock;
var module; var module;
beforeEach(function() { beforeEach(function () {
model = new AutomatedLatestContentBlock.ALCSupervisor(); model = new AutomatedLatestContentBlock.ALCSupervisor();
}); });
it('fetches posts in bulk from the server', function() { it('fetches posts in bulk from the server', function () {
global.stubChannel(EditorApplication); global.stubChannel(EditorApplication);
EditorApplication.findModels = sinon.stub().returns([new Backbone.SuperModel()]); EditorApplication.findModels = sinon.stub().returns([new Backbone.SuperModel()]);
mock = sinon.mock({ getBulkTransformedPosts: function() {} }) mock = sinon.mock({ getBulkTransformedPosts: function () {} })
.expects('getBulkTransformedPosts').once().returns(jQuery.Deferred()); .expects('getBulkTransformedPosts').once().returns(jQuery.Deferred());
module = AutomatedLatestContentInjector({ module = AutomatedLatestContentInjector({
@ -46,7 +46,7 @@ define([
mock.verify(); mock.verify();
}); });
it('refreshes posts for given blocks', function() { it('refreshes posts for given blocks', function () {
var block1 = new Backbone.SuperModel(); var block1 = new Backbone.SuperModel();
var block2 = new Backbone.SuperModel(); var block2 = new Backbone.SuperModel();
var postsSet1 = [ var postsSet1 = [
@ -74,7 +74,7 @@ define([
var model; var model;
var module; var module;
before(function() { before(function () {
module = AutomatedLatestContentBlock; module = AutomatedLatestContentBlock;
}); });
@ -254,7 +254,7 @@ define([
expect(model.get('divider.styles.block.padding')).to.equal('38px'); expect(model.get('divider.styles.block.padding')).to.equal('38px');
}); });
it('accepts displayable posts', function() { it('accepts displayable posts', function () {
var model; var model;
EditorApplication.getBlockTypeModel = sinon.stub().returns(ContainerBlock.ContainerBlockModel); EditorApplication.getBlockTypeModel = sinon.stub().returns(ContainerBlock.ContainerBlockModel);
model = new (module.AutomatedLatestContentBlockModel)(); model = new (module.AutomatedLatestContentBlockModel)();
@ -273,7 +273,7 @@ define([
var view; var view;
var module; var module;
before(function() { before(function () {
module = AutomatedLatestContentBlock; module = AutomatedLatestContentBlock;
}); });
@ -283,7 +283,7 @@ define([
EditorApplication.getBlockTypeModel = sinon.stub().returns(Backbone.Model); EditorApplication.getBlockTypeModel = sinon.stub().returns(Backbone.Model);
EditorApplication.getBlockTypeView = sinon.stub().returns(Backbone.View); EditorApplication.getBlockTypeView = sinon.stub().returns(Backbone.View);
model = new (module.AutomatedLatestContentBlockModel)(); model = new (module.AutomatedLatestContentBlockModel)();
view = new (module.AutomatedLatestContentBlockView)({model: model}); view = new (module.AutomatedLatestContentBlockView)({ model: model });
}); });
afterEach(function () { afterEach(function () {
@ -302,11 +302,11 @@ define([
beforeEach(function () { beforeEach(function () {
onStub = sinon.stub(); onStub = sinon.stub();
global.stubChannel(EditorApplication, {on: onStub}); global.stubChannel(EditorApplication, { on: onStub });
global.stubConfig(EditorApplication); global.stubConfig(EditorApplication);
EditorApplication.getBlockTypeModel = sinon.stub().returns(Backbone.Model); EditorApplication.getBlockTypeModel = sinon.stub().returns(Backbone.Model);
EditorApplication.getBlockTypeView = sinon.stub().returns(Backbone.View); EditorApplication.getBlockTypeView = sinon.stub().returns(Backbone.View);
view = new (AutomatedLatestContentBlock.AutomatedLatestContentBlockView)({model: {set: sinon.stub()}}); view = new (AutomatedLatestContentBlock.AutomatedLatestContentBlockView)({ model: { set: sinon.stub() } });
}); });
it('listens to the event', function () { it('listens to the event', function () {
@ -334,10 +334,10 @@ define([
var view; var view;
var module; var module;
before(function() { before(function () {
module = AutomatedLatestContentInjector({ module = AutomatedLatestContentInjector({
'newsletter_editor/components/communication': { 'newsletter_editor/components/communication': {
getPostTypes: function() { getPostTypes: function () {
return jQuery.Deferred(); return jQuery.Deferred();
} }
} }
@ -345,7 +345,7 @@ define([
}); });
before(function () { before(function () {
CommunicationComponent.getPostTypes = function() { CommunicationComponent.getPostTypes = function () {
var deferred = jQuery.Deferred(); var deferred = jQuery.Deferred();
deferred.resolve([ deferred.resolve([
{ {
@ -378,9 +378,9 @@ define([
EditorApplication.getBlockTypeView = sinon.stub().returns(Backbone.View); EditorApplication.getBlockTypeView = sinon.stub().returns(Backbone.View);
}); });
beforeEach(function() { beforeEach(function () {
model = new (module.AutomatedLatestContentBlockModel)(); model = new (module.AutomatedLatestContentBlockModel)();
view = new (module.AutomatedLatestContentBlockSettingsView)({model: model}); view = new (module.AutomatedLatestContentBlockSettingsView)({ model: model });
}); });
after(function () { after(function () {
@ -392,9 +392,9 @@ define([
}); });
describe('once rendered', function () { describe('once rendered', function () {
beforeEach(function() { beforeEach(function () {
model = new (module.AutomatedLatestContentBlockModel)(); model = new (module.AutomatedLatestContentBlockModel)();
view = new (module.AutomatedLatestContentBlockSettingsView)({model: model}); view = new (module.AutomatedLatestContentBlockSettingsView)({ model: model });
view.render(); view.render();
}); });
@ -500,12 +500,12 @@ define([
expect(model.get('showDivider')).to.equal(newValue); expect(model.get('showDivider')).to.equal(newValue);
}); });
describe('when "title only" display type is selected', function() { describe('when "title only" display type is selected', function () {
var model; var model;
var view; var view;
beforeEach(function() { beforeEach(function () {
model = new (module.AutomatedLatestContentBlockModel)(); model = new (module.AutomatedLatestContentBlockModel)();
view = new (module.AutomatedLatestContentBlockSettingsView)({model: model}); view = new (module.AutomatedLatestContentBlockSettingsView)({ model: model });
view.render(); view.render();
view.$('.mailpoet_automated_latest_content_display_type').val('titleOnly').change(); view.$('.mailpoet_automated_latest_content_display_type').val('titleOnly').change();
}); });
@ -514,12 +514,12 @@ define([
expect(view.$('.mailpoet_automated_latest_content_title_as_list')).to.not.have.$class('mailpoet_hidden'); expect(view.$('.mailpoet_automated_latest_content_title_as_list')).to.not.have.$class('mailpoet_hidden');
}); });
describe('when "title as list" is selected', function() { describe('when "title as list" is selected', function () {
var model; var model;
var view; var view;
beforeEach(function() { beforeEach(function () {
model = new (module.AutomatedLatestContentBlockModel)(); model = new (module.AutomatedLatestContentBlockModel)();
view = new (module.AutomatedLatestContentBlockSettingsView)({model: model}); view = new (module.AutomatedLatestContentBlockSettingsView)({ model: model });
view.render(); view.render();
view.$('.mailpoet_automated_latest_content_display_type').val('titleOnly').change(); view.$('.mailpoet_automated_latest_content_display_type').val('titleOnly').change();
view.$('.mailpoet_automated_latest_content_title_format').val('ul').change(); view.$('.mailpoet_automated_latest_content_title_format').val('ul').change();
@ -530,14 +530,14 @@ define([
expect(view.$('.mailpoet_automated_latest_content_title_as_link')).to.have.$class('mailpoet_hidden'); expect(view.$('.mailpoet_automated_latest_content_title_as_link')).to.have.$class('mailpoet_hidden');
}); });
it('is set to "yes"', function() { it('is set to "yes"', function () {
expect(model.get('titleIsLink')).to.equal(true); expect(model.get('titleIsLink')).to.equal(true);
}); });
}); });
}); });
describe('when "title as list" is deselected', function() { describe('when "title as list" is deselected', function () {
before(function() { before(function () {
view.$('.mailpoet_automated_latest_content_title_format').val('ul').change(); view.$('.mailpoet_automated_latest_content_title_format').val('ul').change();
view.$('.mailpoet_automated_latest_content_title_format').val('h3').change(); view.$('.mailpoet_automated_latest_content_title_format').val('h3').change();
}); });
@ -555,7 +555,7 @@ define([
global.MailPoet.Modal.cancel = mock; global.MailPoet.Modal.cancel = mock;
view.$('.mailpoet_done_editing').click(); view.$('.mailpoet_done_editing').click();
mock.verify(); mock.verify();
delete(global.MailPoet.Modal.cancel); delete (global.MailPoet.Modal.cancel);
}); });
}); });
}); });

View File

@ -4,7 +4,7 @@ const sinon = global.sinon;
define([ define([
'newsletter_editor/App', 'newsletter_editor/App',
'newsletter_editor/blocks/button' 'newsletter_editor/blocks/button'
], function(App, ButtonBlock) { ], function (App, ButtonBlock) {
var EditorApplication = App; var EditorApplication = App;
describe('Button', function () { describe('Button', function () {
@ -20,7 +20,7 @@ define([
}); });
afterEach(function () { afterEach(function () {
if(EditorApplication.getChannel) { if (EditorApplication.getChannel) {
delete EditorApplication.getChannel; delete EditorApplication.getChannel;
} }
}); });
@ -159,13 +159,13 @@ define([
}); });
it('renders', function () { it('renders', function () {
var view = new (ButtonBlock.ButtonBlockView)({model: model}); var view = new (ButtonBlock.ButtonBlockView)({ model: model });
expect(view.render).to.not.throw(); expect(view.render).to.not.throw();
expect(view.$('.mailpoet_editor_button')).to.have.length(1); expect(view.$('.mailpoet_editor_button')).to.have.length(1);
}); });
it('rerenders when attributes change', function () { it('rerenders when attributes change', function () {
var view = new (ButtonBlock.ButtonBlockView)({model: model}); var view = new (ButtonBlock.ButtonBlockView)({ model: model });
view.render(); view.render();
model.set('text', 'Some new text'); model.set('text', 'Some new text');
@ -198,7 +198,7 @@ define([
} }
} }
}); });
view = new (ButtonBlock.ButtonBlockView)({model: model}); view = new (ButtonBlock.ButtonBlockView)({ model: model });
view.render(); view.render();
}); });
@ -272,9 +272,9 @@ define([
beforeEach(function () { beforeEach(function () {
onStub = sinon.stub(); onStub = sinon.stub();
global.stubChannel(EditorApplication, {on: onStub}); global.stubChannel(EditorApplication, { on: onStub });
model = {set: sinon.stub(), toJSON: sinon.stub()}; model = { set: sinon.stub(), toJSON: sinon.stub() };
view = new (ButtonBlock.ButtonBlockView)({model: model}); view = new (ButtonBlock.ButtonBlockView)({ model: model });
view.render(); view.render();
}); });
@ -315,14 +315,14 @@ define([
}); });
it('renders', function () { it('renders', function () {
var view = new (ButtonBlock.ButtonBlockSettingsView)({model: model}); var view = new (ButtonBlock.ButtonBlockSettingsView)({ model: model });
expect(view.render).to.not.throw(); expect(view.render).to.not.throw();
}); });
describe('once rendered', function () { describe('once rendered', function () {
var model; var model;
var view; var view;
before(function() { before(function () {
global.stubChannel(EditorApplication); global.stubChannel(EditorApplication);
global.stubConfig(EditorApplication); global.stubConfig(EditorApplication);
global.stubAvailableStyles(EditorApplication, { global.stubAvailableStyles(EditorApplication, {
@ -331,12 +331,12 @@ define([
}); });
}); });
beforeEach(function() { beforeEach(function () {
model = new (ButtonBlock.ButtonBlockModel)({ model = new (ButtonBlock.ButtonBlockModel)({
type: 'button', type: 'button',
text: 'Some random text' text: 'Some random text'
}); });
view = new (ButtonBlock.ButtonBlockSettingsView)({model: model}); view = new (ButtonBlock.ButtonBlockSettingsView)({ model: model });
view.render(); view.render();
}); });
@ -453,7 +453,7 @@ define([
expect(view.$('.mailpoet_field_button_line_height_input').val()).to.equal('37'); expect(view.$('.mailpoet_field_button_line_height_input').val()).to.equal('37');
}); });
it('does not display link option when `hideLink` option is active', function() { it('does not display link option when `hideLink` option is active', function () {
view = new (ButtonBlock.ButtonBlockSettingsView)({ view = new (ButtonBlock.ButtonBlockSettingsView)({
model: model, model: model,
renderOptions: { renderOptions: {
@ -464,7 +464,7 @@ define([
expect(view.$('.mailpoet_field_button_url').length).to.equal(0); expect(view.$('.mailpoet_field_button_url').length).to.equal(0);
}); });
it('does not display "Apply to all" option when `hideApplyToAll` option is active', function() { it('does not display "Apply to all" option when `hideApplyToAll` option is active', function () {
view = new (ButtonBlock.ButtonBlockSettingsView)({ view = new (ButtonBlock.ButtonBlockSettingsView)({
model: model, model: model,
renderOptions: { renderOptions: {
@ -480,7 +480,7 @@ define([
global.MailPoet.Modal.cancel = mock; global.MailPoet.Modal.cancel = mock;
view.$('.mailpoet_done_editing').click(); view.$('.mailpoet_done_editing').click();
mock.verify(); mock.verify();
delete(global.MailPoet.Modal.cancel); delete (global.MailPoet.Modal.cancel);
}); });
}); });
}); });

View File

@ -5,7 +5,7 @@ const Backbone = global.Backbone;
define([ define([
'newsletter_editor/App', 'newsletter_editor/App',
'newsletter_editor/blocks/container' 'newsletter_editor/blocks/container'
], function(App, ContainerBlock) { ], function (App, ContainerBlock) {
var EditorApplication = App; var EditorApplication = App;
describe('Container', function () { describe('Container', function () {
@ -65,7 +65,7 @@ define([
model = new (ContainerBlock.ContainerBlockModel)({ model = new (ContainerBlock.ContainerBlockModel)({
type: 'container', type: 'container',
blocks: [testModel] blocks: [testModel]
}, {parse: true}); }, { parse: true });
expect(model.get('blocks')).to.have.length(1); expect(model.get('blocks')).to.have.length(1);
expect(model.get('blocks').at(0).get('type')).to.equal(testModel.type); expect(model.get('blocks').at(0).get('type')).to.equal(testModel.type);
@ -95,7 +95,7 @@ define([
] ]
} }
] ]
}, {parse: true}); }, { parse: true });
expect(model.get('blocks')).to.have.length(1); expect(model.get('blocks')).to.have.length(1);
expect(model.get('blocks').at(0).get('blocks')).to.have.length(2); expect(model.get('blocks').at(0).get('blocks')).to.have.length(2);
@ -114,7 +114,7 @@ define([
global.stubChannel(EditorApplication); global.stubChannel(EditorApplication);
global.stubAvailableStyles(EditorApplication); global.stubAvailableStyles(EditorApplication);
model = new (ContainerBlock.ContainerBlockModel)(); model = new (ContainerBlock.ContainerBlockModel)();
view = new (ContainerBlock.ContainerBlockView)({model: model}); view = new (ContainerBlock.ContainerBlockView)({ model: model });
it('renders', function () { it('renders', function () {
expect(view.render).to.not.throw(); expect(view.render).to.not.throw();
@ -196,7 +196,7 @@ define([
global.stubChannel(EditorApplication); global.stubChannel(EditorApplication);
global.stubAvailableStyles(EditorApplication); global.stubAvailableStyles(EditorApplication);
model = new (ContainerBlock.ContainerBlockModel)(); model = new (ContainerBlock.ContainerBlockModel)();
view = new (ContainerBlock.ContainerBlockSettingsView)({model: model}); view = new (ContainerBlock.ContainerBlockSettingsView)({ model: model });
it('renders', function () { it('renders', function () {
expect(view.render).to.not.throw(); expect(view.render).to.not.throw();
@ -205,11 +205,11 @@ define([
describe('once rendered', function () { describe('once rendered', function () {
var model; var model;
var view; var view;
beforeEach(function() { beforeEach(function () {
global.stubChannel(EditorApplication); global.stubChannel(EditorApplication);
global.stubAvailableStyles(EditorApplication); global.stubAvailableStyles(EditorApplication);
model = new (ContainerBlock.ContainerBlockModel)(); model = new (ContainerBlock.ContainerBlockModel)();
view = new (ContainerBlock.ContainerBlockSettingsView)({model: model}); view = new (ContainerBlock.ContainerBlockSettingsView)({ model: model });
}); });
it('updates the model when background color changes', function () { it('updates the model when background color changes', function () {
@ -222,7 +222,7 @@ define([
global.MailPoet.Modal.cancel = mock; global.MailPoet.Modal.cancel = mock;
view.$('.mailpoet_done_editing').click(); view.$('.mailpoet_done_editing').click();
mock.verify(); mock.verify();
delete(global.MailPoet.Modal.cancel); delete (global.MailPoet.Modal.cancel);
}); });
}); });
}); });

View File

@ -4,7 +4,7 @@ const sinon = global.sinon;
define([ define([
'newsletter_editor/App', 'newsletter_editor/App',
'newsletter_editor/blocks/divider' 'newsletter_editor/blocks/divider'
], function(App, DividerBlock) { ], function (App, DividerBlock) {
var EditorApplication = App; var EditorApplication = App;
describe('Divider', function () { describe('Divider', function () {
@ -104,7 +104,7 @@ define([
global.stubChannel(EditorApplication); global.stubChannel(EditorApplication);
global.stubConfig(EditorApplication); global.stubConfig(EditorApplication);
model = new (DividerBlock.DividerBlockModel)(); model = new (DividerBlock.DividerBlockModel)();
view = new (DividerBlock.DividerBlockView)({model: model}); view = new (DividerBlock.DividerBlockView)({ model: model });
}); });
it('renders', function () { it('renders', function () {
@ -146,7 +146,7 @@ define([
dividers: ['solid', 'inset'] dividers: ['solid', 'inset']
}); });
model = new (DividerBlock.DividerBlockModel)(); model = new (DividerBlock.DividerBlockModel)();
view = new (DividerBlock.DividerBlockSettingsView)({model: model}); view = new (DividerBlock.DividerBlockSettingsView)({ model: model });
it('renders', function () { it('renders', function () {
expect(view.render).to.not.throw(); expect(view.render).to.not.throw();
@ -157,7 +157,7 @@ define([
var model; var model;
var view; var view;
before(function() { before(function () {
global.stubChannel(EditorApplication); global.stubChannel(EditorApplication);
global.stubAvailableStyles(EditorApplication, { global.stubAvailableStyles(EditorApplication, {
dividers: ['solid', 'inset'] dividers: ['solid', 'inset']
@ -166,7 +166,7 @@ define([
beforeEach(function () { beforeEach(function () {
model = new (DividerBlock.DividerBlockModel)(); model = new (DividerBlock.DividerBlockModel)();
view = new (DividerBlock.DividerBlockSettingsView)({model: model}); view = new (DividerBlock.DividerBlockSettingsView)({ model: model });
view.render(); view.render();
}); });
@ -200,13 +200,13 @@ define([
expect(model.get('styles.block.backgroundColor')).to.equal('#cccccc'); expect(model.get('styles.block.backgroundColor')).to.equal('#cccccc');
}); });
it ('changes color of available divider styles when actual divider color changes', function() { it('changes color of available divider styles when actual divider color changes', function () {
var newColor = '#889912'; var newColor = '#889912';
view.$('.mailpoet_field_divider_border_color').val(newColor).change(); view.$('.mailpoet_field_divider_border_color').val(newColor).change();
expect(view.$('.mailpoet_field_divider_style div')).to.have.$css('border-top-color', newColor); expect(view.$('.mailpoet_field_divider_style div')).to.have.$css('border-top-color', newColor);
}); });
it('does not display "Apply to all" option when `hideApplyToAll` option is active', function() { it('does not display "Apply to all" option when `hideApplyToAll` option is active', function () {
view = new (DividerBlock.DividerBlockSettingsView)({ view = new (DividerBlock.DividerBlockSettingsView)({
model: model, model: model,
renderOptions: { renderOptions: {
@ -222,7 +222,7 @@ define([
global.MailPoet.Modal.cancel = mock; global.MailPoet.Modal.cancel = mock;
view.$('.mailpoet_done_editing').click(); view.$('.mailpoet_done_editing').click();
mock.verify(); mock.verify();
delete(global.MailPoet.Modal.cancel); delete (global.MailPoet.Modal.cancel);
}); });
}); });
}); });

View File

@ -4,7 +4,7 @@ const sinon = global.sinon;
define([ define([
'newsletter_editor/App', 'newsletter_editor/App',
'newsletter_editor/blocks/footer' 'newsletter_editor/blocks/footer'
], function(App, FooterBlock) { ], function (App, FooterBlock) {
var EditorApplication = App; var EditorApplication = App;
describe('Footer', function () { describe('Footer', function () {
@ -126,7 +126,7 @@ define([
beforeEach(function () { beforeEach(function () {
global.stubChannel(EditorApplication); global.stubChannel(EditorApplication);
view = new (FooterBlock.FooterBlockView)({model: model}); view = new (FooterBlock.FooterBlockView)({ model: model });
}); });
it('renders', function () { it('renders', function () {
@ -144,7 +144,7 @@ define([
textSizes: ['16px', '20px'] textSizes: ['16px', '20px']
}); });
model = new (FooterBlock.FooterBlockModel)(); model = new (FooterBlock.FooterBlockModel)();
view = new (FooterBlock.FooterBlockSettingsView)({model: model}); view = new (FooterBlock.FooterBlockSettingsView)({ model: model });
it('renders', function () { it('renders', function () {
expect(view.render).to.not.throw(); expect(view.render).to.not.throw();
@ -155,14 +155,14 @@ define([
var model; var model;
var view; var view;
beforeEach(function() { beforeEach(function () {
global.stubChannel(EditorApplication); global.stubChannel(EditorApplication);
global.stubAvailableStyles(EditorApplication, { global.stubAvailableStyles(EditorApplication, {
fonts: ['Arial', 'Tahoma'], fonts: ['Arial', 'Tahoma'],
textSizes: ['16px', '20px'] textSizes: ['16px', '20px']
}); });
model = new (FooterBlock.FooterBlockModel)({}); model = new (FooterBlock.FooterBlockModel)({});
view = new (FooterBlock.FooterBlockSettingsView)({model: model}); view = new (FooterBlock.FooterBlockSettingsView)({ model: model });
view.render(); view.render();
}); });
@ -203,7 +203,7 @@ define([
global.MailPoet.Modal.cancel = mock; global.MailPoet.Modal.cancel = mock;
view.$('.mailpoet_done_editing').click(); view.$('.mailpoet_done_editing').click();
mock.verify(); mock.verify();
delete(global.MailPoet.Modal.cancel); delete (global.MailPoet.Modal.cancel);
}); });
}); });
}); });

View File

@ -4,7 +4,7 @@ const sinon = global.sinon;
define([ define([
'newsletter_editor/App', 'newsletter_editor/App',
'newsletter_editor/blocks/header' 'newsletter_editor/blocks/header'
], function(App, HeaderBlock) { ], function (App, HeaderBlock) {
var EditorApplication = App; var EditorApplication = App;
describe('Header', function () { describe('Header', function () {
@ -12,7 +12,7 @@ define([
var model; var model;
beforeEach(function () { beforeEach(function () {
global.stubChannel(EditorApplication); global.stubChannel(EditorApplication);
global. stubConfig(EditorApplication, { global.stubConfig(EditorApplication, {
blockDefaults: {} blockDefaults: {}
}); });
model = new (HeaderBlock.HeaderBlockModel)(); model = new (HeaderBlock.HeaderBlockModel)();
@ -125,7 +125,7 @@ define([
beforeEach(function () { beforeEach(function () {
global.stubChannel(EditorApplication); global.stubChannel(EditorApplication);
view = new (HeaderBlock.HeaderBlockView)({model: model}); view = new (HeaderBlock.HeaderBlockView)({ model: model });
}); });
it('renders', function () { it('renders', function () {
@ -144,7 +144,7 @@ define([
textSizes: ['16px', '20px'] textSizes: ['16px', '20px']
}); });
model = new (HeaderBlock.HeaderBlockModel)(); model = new (HeaderBlock.HeaderBlockModel)();
view = new (HeaderBlock.HeaderBlockSettingsView)({model: model}); view = new (HeaderBlock.HeaderBlockSettingsView)({ model: model });
it('renders', function () { it('renders', function () {
expect(view.render).to.not.throw(); expect(view.render).to.not.throw();
@ -155,14 +155,14 @@ define([
var model; var model;
var view; var view;
beforeEach(function() { beforeEach(function () {
global.stubChannel(EditorApplication); global.stubChannel(EditorApplication);
global.stubAvailableStyles(EditorApplication, { global.stubAvailableStyles(EditorApplication, {
fonts: ['Arial', 'Tahoma'], fonts: ['Arial', 'Tahoma'],
textSizes: ['16px', '20px'] textSizes: ['16px', '20px']
}); });
model = new (HeaderBlock.HeaderBlockModel)({}); model = new (HeaderBlock.HeaderBlockModel)({});
view = new (HeaderBlock.HeaderBlockSettingsView)({model: model}); view = new (HeaderBlock.HeaderBlockSettingsView)({ model: model });
view.render(); view.render();
}); });
@ -203,7 +203,7 @@ define([
global.MailPoet.Modal.cancel = mock; global.MailPoet.Modal.cancel = mock;
view.$('.mailpoet_done_editing').click(); view.$('.mailpoet_done_editing').click();
mock.verify(); mock.verify();
delete(global.MailPoet.Modal.cancel); delete (global.MailPoet.Modal.cancel);
}); });
}); });
}); });

View File

@ -4,7 +4,7 @@ const sinon = global.sinon;
define([ define([
'newsletter_editor/App', 'newsletter_editor/App',
'newsletter_editor/blocks/image' 'newsletter_editor/blocks/image'
], function(App, ImageBlock) { ], function (App, ImageBlock) {
var EditorApplication = App; var EditorApplication = App;
describe('Image', function () { describe('Image', function () {
@ -113,7 +113,7 @@ define([
model = new (ImageBlock.ImageBlockModel)(); model = new (ImageBlock.ImageBlockModel)();
beforeEach(function () { beforeEach(function () {
view = new (ImageBlock.ImageBlockView)({model: model}); view = new (ImageBlock.ImageBlockView)({ model: model });
}); });
it('renders', function () { it('renders', function () {
@ -133,7 +133,7 @@ define([
src: 'http://example.org/someimage.png', src: 'http://example.org/someimage.png',
alt: 'some alt' alt: 'some alt'
}); });
view = new (ImageBlock.ImageBlockView)({model: model}); view = new (ImageBlock.ImageBlockView)({ model: model });
view.render(); view.render();
}); });
@ -174,7 +174,7 @@ define([
}); });
global.stubImage(newWidth, newHeight); global.stubImage(newWidth, newHeight);
model = new (ImageBlock.ImageBlockModel)(); model = new (ImageBlock.ImageBlockModel)();
view = new (ImageBlock.ImageBlockSettingsView)({model: model}); view = new (ImageBlock.ImageBlockSettingsView)({ model: model });
}); });
it('renders', function () { it('renders', function () {
@ -218,12 +218,12 @@ define([
expect(model.get('styles.block.textAlign')).to.equal('left'); expect(model.get('styles.block.textAlign')).to.equal('left');
}); });
it.skip('closes the sidepanel after "Done" is clicked', function() { it.skip('closes the sidepanel after "Done" is clicked', function () {
var mock = sinon.mock().once(); var mock = sinon.mock().once();
global.MailPoet.Modal.cancel = mock; global.MailPoet.Modal.cancel = mock;
view.$('.mailpoet_done_editing').click(); view.$('.mailpoet_done_editing').click();
mock.verify(); mock.verify();
delete(global.MailPoet.Modal.cancel); delete (global.MailPoet.Modal.cancel);
}); });
}); });
}); });

View File

@ -8,7 +8,7 @@ define([
'newsletter_editor/components/communication', 'newsletter_editor/components/communication',
'newsletter_editor/blocks/posts', 'newsletter_editor/blocks/posts',
'newsletter_editor/blocks/container' 'newsletter_editor/blocks/container'
], function(App, Communication, PostsBlock, ContainerBlock) { ], function (App, Communication, PostsBlock, ContainerBlock) {
var EditorApplication = App; var EditorApplication = App;
var CommunicationComponent = Communication; var CommunicationComponent = Communication;
@ -24,8 +24,8 @@ define([
describe('model', function () { describe('model', function () {
var model; var model;
before(function() { before(function () {
CommunicationComponent.getPosts = function() { CommunicationComponent.getPosts = function () {
var deferred = jQuery.Deferred(); var deferred = jQuery.Deferred();
return deferred; return deferred;
}; };
@ -238,7 +238,7 @@ define([
}); });
it('triggers loading and loaded events for more posts', function () { it('triggers loading and loaded events for more posts', function () {
var stub = sinon.stub(CommunicationComponent, 'getPosts', function() { var stub = sinon.stub(CommunicationComponent, 'getPosts', function () {
var deferred = jQuery.Deferred(); var deferred = jQuery.Deferred();
deferred.resolve([{}]); // 1 post deferred.resolve([{}]); // 1 post
return deferred; return deferred;
@ -270,7 +270,7 @@ define([
global.stubConfig(EditorApplication); global.stubConfig(EditorApplication);
EditorApplication.getBlockTypeModel = sinon.stub().returns(Backbone.Model); EditorApplication.getBlockTypeModel = sinon.stub().returns(Backbone.Model);
model = new (PostsBlock.PostsBlockModel)(); model = new (PostsBlock.PostsBlockModel)();
view = new (PostsBlock.PostsBlockView)({model: model}); view = new (PostsBlock.PostsBlockView)({ model: model });
// Disable auto-opening of settings view // Disable auto-opening of settings view
view.off('showSettings'); view.off('showSettings');
@ -291,7 +291,7 @@ define([
var view; var view;
before(function () { before(function () {
CommunicationComponent.getPostTypes = function() { CommunicationComponent.getPostTypes = function () {
var deferred = jQuery.Deferred(); var deferred = jQuery.Deferred();
deferred.resolve([ deferred.resolve([
{ {
@ -322,12 +322,12 @@ define([
}); });
EditorApplication.getBlockTypeModel = sinon.stub().returns(ContainerBlock.ContainerBlockModel); EditorApplication.getBlockTypeModel = sinon.stub().returns(ContainerBlock.ContainerBlockModel);
model = new (PostsBlock.PostsBlockModel)(); model = new (PostsBlock.PostsBlockModel)();
view = new (PostsBlock.PostsBlockSettingsView)({model: model}); view = new (PostsBlock.PostsBlockSettingsView)({ model: model });
}); });
it('renders', function () { it('renders', function () {
// Stub out block view requests // Stub out block view requests
model.request = sinon.stub().returns({$el: {}}); model.request = sinon.stub().returns({ $el: {} });
expect(view.render).to.not.throw(); expect(view.render).to.not.throw();
}); });
@ -423,13 +423,13 @@ define([
expect(model.get('readMoreText')).to.equal(newValue); expect(model.get('readMoreText')).to.equal(newValue);
}); });
describe('when "title only" display type is selected', function() { describe('when "title only" display type is selected', function () {
var model; var model;
var view; var view;
beforeEach(function() { beforeEach(function () {
model = new (PostsBlock.PostsBlockModel)(); model = new (PostsBlock.PostsBlockModel)();
model.request = sinon.stub().returns({$el: {}}); model.request = sinon.stub().returns({ $el: {} });
view = new (PostsBlock.PostsBlockSettingsView)({model: model}); view = new (PostsBlock.PostsBlockSettingsView)({ model: model });
view.render(); view.render();
view.$('.mailpoet_posts_display_type').val('titleOnly').change(); view.$('.mailpoet_posts_display_type').val('titleOnly').change();
}); });
@ -438,8 +438,8 @@ define([
expect(view.$('.mailpoet_posts_title_as_list')).to.not.have.$class('mailpoet_hidden'); expect(view.$('.mailpoet_posts_title_as_list')).to.not.have.$class('mailpoet_hidden');
}); });
describe('when "title as list" is selected', function() { describe('when "title as list" is selected', function () {
beforeEach(function() { beforeEach(function () {
view.$('.mailpoet_posts_display_type').val('titleOnly').change(); view.$('.mailpoet_posts_display_type').val('titleOnly').change();
view.$('.mailpoet_posts_title_format').val('ul').change(); view.$('.mailpoet_posts_title_format').val('ul').change();
}); });
@ -449,14 +449,14 @@ define([
expect(view.$('.mailpoet_posts_title_as_link')).to.have.$class('mailpoet_hidden'); expect(view.$('.mailpoet_posts_title_as_link')).to.have.$class('mailpoet_hidden');
}); });
it('is set to "yes"', function() { it('is set to "yes"', function () {
expect(model.get('titleIsLink')).to.equal(true); expect(model.get('titleIsLink')).to.equal(true);
}); });
}); });
}); });
describe('when "title as list" is deselected', function() { describe('when "title as list" is deselected', function () {
before(function() { before(function () {
view.$('.mailpoet_posts_title_format').val('ul').change(); view.$('.mailpoet_posts_title_format').val('ul').change();
view.$('.mailpoet_posts_title_format').val('h3').change(); view.$('.mailpoet_posts_title_format').val('h3').change();
}); });

View File

@ -5,7 +5,7 @@ define([
'newsletter_editor/App', 'newsletter_editor/App',
'newsletter_editor/blocks/social', 'newsletter_editor/blocks/social',
'backbone' 'backbone'
], function(EditorApplication, SocialBlock, Backbone) { ], function (EditorApplication, SocialBlock, Backbone) {
describe('Social', function () { describe('Social', function () {
describe('block model', function () { describe('block model', function () {
@ -125,7 +125,7 @@ define([
}); });
it('renders', function () { it('renders', function () {
var view = new (SocialBlock.SocialBlockView)({model: model}); var view = new (SocialBlock.SocialBlockView)({ model: model });
expect(view.render).to.not.throw(); expect(view.render).to.not.throw();
expect(view.$('.mailpoet_social')).to.have.length(1); expect(view.$('.mailpoet_social')).to.have.length(1);
}); });
@ -156,7 +156,7 @@ define([
} }
] ]
}); });
view = new (SocialBlock.SocialBlockView)({model: model}); view = new (SocialBlock.SocialBlockView)({ model: model });
view.render(); view.render();
}); });
@ -212,7 +212,7 @@ define([
}); });
it('renders', function () { it('renders', function () {
var view = new (SocialBlock.SocialBlockSettingsView)({model: model}); var view = new (SocialBlock.SocialBlockSettingsView)({ model: model });
expect(view.render).to.not.throw(); expect(view.render).to.not.throw();
}); });
@ -253,22 +253,22 @@ define([
} }
] ]
}); });
view = new (SocialBlock.SocialBlockSettingsView)({model: model}); view = new (SocialBlock.SocialBlockSettingsView)({ model: model });
view.render(); view.render();
}); });
it('updates icons in settings if iconset changes', function() { it('updates icons in settings if iconset changes', function () {
view.$('.mailpoet_social_icon_set').last().click(); view.$('.mailpoet_social_icon_set').last().click();
expect(view.$('.mailpoet_social_icon_field_image').val()).to.equal(EditorApplication.getAvailableStyles().get('socialIconSets.light.custom')); expect(view.$('.mailpoet_social_icon_field_image').val()).to.equal(EditorApplication.getAvailableStyles().get('socialIconSets.light.custom'));
}); });
it('removes the icon when "remove" is clicked', function() { it('removes the icon when "remove" is clicked', function () {
view.$('.mailpoet_delete_block').click(); view.$('.mailpoet_delete_block').click();
expect(model.get('icons').length).to.equal(0); expect(model.get('icons').length).to.equal(0);
expect(view.$('.mailpoet_social_icon_settings').length).to.equal(0); expect(view.$('.mailpoet_social_icon_settings').length).to.equal(0);
}); });
it('adds another icon when "Add another social network" is pressed', function() { it('adds another icon when "Add another social network" is pressed', function () {
view.$('.mailpoet_add_social_icon').click(); view.$('.mailpoet_add_social_icon').click();
expect(model.get('icons').length).to.equal(2); expect(model.get('icons').length).to.equal(2);
}); });
@ -278,7 +278,7 @@ define([
global.MailPoet.Modal.cancel = mock; global.MailPoet.Modal.cancel = mock;
view.$('.mailpoet_done_editing').click(); view.$('.mailpoet_done_editing').click();
mock.verify(); mock.verify();
delete(global.MailPoet.Modal.cancel); delete (global.MailPoet.Modal.cancel);
}); });
}); });
}); });

View File

@ -4,7 +4,7 @@ const sinon = global.sinon;
define([ define([
'newsletter_editor/App', 'newsletter_editor/App',
'newsletter_editor/blocks/spacer' 'newsletter_editor/blocks/spacer'
], function(App, SpacerBlock) { ], function (App, SpacerBlock) {
var EditorApplication = App; var EditorApplication = App;
describe('Spacer', function () { describe('Spacer', function () {
@ -84,7 +84,7 @@ define([
global.stubConfig(EditorApplication); global.stubConfig(EditorApplication);
global.stubAvailableStyles(EditorApplication); global.stubAvailableStyles(EditorApplication);
model = new (SpacerBlock.SpacerBlockModel)(); model = new (SpacerBlock.SpacerBlockModel)();
view = new (SpacerBlock.SpacerBlockView)({model: model}); view = new (SpacerBlock.SpacerBlockView)({ model: model });
}); });
it('renders', function () { it('renders', function () {
@ -129,7 +129,7 @@ define([
beforeEach(function () { beforeEach(function () {
global.stubChannel(EditorApplication); global.stubChannel(EditorApplication);
view = new (SpacerBlock.SpacerBlockSettingsView)({model: model}); view = new (SpacerBlock.SpacerBlockSettingsView)({ model: model });
}); });
it('renders', function () { it('renders', function () {
@ -139,11 +139,11 @@ define([
describe('once rendered', function () { describe('once rendered', function () {
var view; var view;
var model; var model;
beforeEach(function() { beforeEach(function () {
global.stubChannel(EditorApplication); global.stubChannel(EditorApplication);
global.stubConfig(EditorApplication); global.stubConfig(EditorApplication);
model = new (SpacerBlock.SpacerBlockModel)(); model = new (SpacerBlock.SpacerBlockModel)();
view = new (SpacerBlock.SpacerBlockSettingsView)({model: model}); view = new (SpacerBlock.SpacerBlockSettingsView)({ model: model });
view.render(); view.render();
}); });
@ -157,7 +157,7 @@ define([
global.MailPoet.Modal.cancel = mock; global.MailPoet.Modal.cancel = mock;
view.$('.mailpoet_done_editing').click(); view.$('.mailpoet_done_editing').click();
mock.verify(); mock.verify();
delete(global.MailPoet.Modal.cancel); delete (global.MailPoet.Modal.cancel);
}); });
}); });
}); });

View File

@ -3,7 +3,7 @@ const expect = global.expect;
define([ define([
'newsletter_editor/App', 'newsletter_editor/App',
'newsletter_editor/blocks/text' 'newsletter_editor/blocks/text'
], function(EditorApplication, TextBlock) { ], function (EditorApplication, TextBlock) {
describe('Text', function () { describe('Text', function () {
describe('model', function () { describe('model', function () {
@ -42,7 +42,7 @@ define([
var view; var view;
global.stubConfig(EditorApplication); global.stubConfig(EditorApplication);
model = new (TextBlock.TextBlockModel)(); model = new (TextBlock.TextBlockModel)();
view = new (TextBlock.TextBlockView)({model: model}); view = new (TextBlock.TextBlockView)({ model: model });
it('renders', function () { it('renders', function () {
expect(view.render).to.not.throw(); expect(view.render).to.not.throw();
@ -55,7 +55,7 @@ define([
beforeEach(function () { beforeEach(function () {
global.stubConfig(EditorApplication); global.stubConfig(EditorApplication);
view = new (TextBlock.TextBlockView)({model: model}); view = new (TextBlock.TextBlockView)({ model: model });
view.render(); view.render();
}); });

View File

@ -6,14 +6,14 @@ define([
'newsletter_editor/App', 'newsletter_editor/App',
'newsletter_editor/components/communication', 'newsletter_editor/components/communication',
'amd-inject-loader!newsletter_editor/components/communication' 'amd-inject-loader!newsletter_editor/components/communication'
], function(EditorApplication, Communication, CommunicationInjector) { ], function (EditorApplication, Communication, CommunicationInjector) {
describe('getPostTypes', function() { describe('getPostTypes', function () {
it('fetches post types from the server', function() { it('fetches post types from the server', function () {
var module = CommunicationInjector({ var module = CommunicationInjector({
mailpoet: { mailpoet: {
Ajax: { Ajax: {
post: function() { post: function () {
var deferred = jQuery.Deferred(); var deferred = jQuery.Deferred();
deferred.resolve({ deferred.resolve({
data: { data: {
@ -26,14 +26,14 @@ define([
} }
} }
}); });
module.getPostTypes().done(function(types) { module.getPostTypes().done(function (types) {
expect(types).to.eql(['val1', 'val2']); expect(types).to.eql(['val1', 'val2']);
}); });
}); });
it('caches results', function() { it('caches results', function () {
var deferred = jQuery.Deferred(); var deferred = jQuery.Deferred();
var mock = sinon.mock({ post: function() {} }).expects('post').once().returns(deferred); var mock = sinon.mock({ post: function () {} }).expects('post').once().returns(deferred);
var module = CommunicationInjector({ var module = CommunicationInjector({
mailpoet: { mailpoet: {
Ajax: { Ajax: {
@ -52,10 +52,10 @@ define([
}); });
}); });
describe('getTaxonomies', function() { describe('getTaxonomies', function () {
it('sends post type to endpoint', function() { it('sends post type to endpoint', function () {
var spy; var spy;
var post = function() { var post = function () {
var deferred = jQuery.Deferred(); var deferred = jQuery.Deferred();
deferred.resolve({ deferred.resolve({
category: 'val1', category: 'val1',
@ -77,11 +77,11 @@ define([
expect(spy.args[0][0].data.postType).to.equal('post'); expect(spy.args[0][0].data.postType).to.equal('post');
}); });
it('fetches taxonomies from the server', function() { it('fetches taxonomies from the server', function () {
var module = CommunicationInjector({ var module = CommunicationInjector({
mailpoet: { mailpoet: {
Ajax: { Ajax: {
post: function() { post: function () {
var deferred = jQuery.Deferred(); var deferred = jQuery.Deferred();
deferred.resolve({ deferred.resolve({
data: { data: {
@ -93,14 +93,14 @@ define([
} }
} }
}); });
module.getTaxonomies('page').done(function(types) { module.getTaxonomies('page').done(function (types) {
expect(types).to.eql({ category: 'val1' }); expect(types).to.eql({ category: 'val1' });
}); });
}); });
it('caches results', function() { it('caches results', function () {
var deferred = jQuery.Deferred(); var deferred = jQuery.Deferred();
var mock = sinon.mock({ post: function() {} }).expects('post').once().returns(deferred); var mock = sinon.mock({ post: function () {} }).expects('post').once().returns(deferred);
var module = CommunicationInjector({ var module = CommunicationInjector({
mailpoet: { mailpoet: {
Ajax: { Ajax: {
@ -116,10 +116,10 @@ define([
}); });
}); });
describe('getTerms', function() { describe('getTerms', function () {
it('sends terms to endpoint', function() { it('sends terms to endpoint', function () {
var spy; var spy;
var post = function() { var post = function () {
var deferred = jQuery.Deferred(); var deferred = jQuery.Deferred();
deferred.resolve({}); deferred.resolve({});
return deferred; return deferred;
@ -140,11 +140,11 @@ define([
expect(spy.args[0][0].data.taxonomies).to.eql(['category', 'post_tag']); expect(spy.args[0][0].data.taxonomies).to.eql(['category', 'post_tag']);
}); });
it('fetches terms from the server', function() { it('fetches terms from the server', function () {
var module = CommunicationInjector({ var module = CommunicationInjector({
mailpoet: { mailpoet: {
Ajax: { Ajax: {
post: function() { post: function () {
var deferred = jQuery.Deferred(); var deferred = jQuery.Deferred();
deferred.resolve({ deferred.resolve({
data: { data: {
@ -157,14 +157,14 @@ define([
} }
} }
}); });
module.getTerms({ taxonomies: ['category'] }).done(function(types) { module.getTerms({ taxonomies: ['category'] }).done(function (types) {
expect(types).to.eql({ term1: 'term1val1', term2: 'term2val2' }); expect(types).to.eql({ term1: 'term1val1', term2: 'term2val2' });
}); });
}); });
it('caches results', function() { it('caches results', function () {
var deferred = jQuery.Deferred(); var deferred = jQuery.Deferred();
var mock = sinon.mock({ post: function() {} }).expects('post').once().returns(deferred); var mock = sinon.mock({ post: function () {} }).expects('post').once().returns(deferred);
var module = CommunicationInjector({ var module = CommunicationInjector({
mailpoet: { mailpoet: {
Ajax: { Ajax: {
@ -180,10 +180,10 @@ define([
}); });
}); });
describe('getPosts', function() { describe('getPosts', function () {
it('sends options to endpoint', function() { it('sends options to endpoint', function () {
var spy; var spy;
var post = function() { var post = function () {
var deferred = jQuery.Deferred(); var deferred = jQuery.Deferred();
deferred.resolve({}); deferred.resolve({});
return deferred; return deferred;
@ -208,16 +208,16 @@ define([
}); });
}); });
it('fetches posts from the server', function() { it('fetches posts from the server', function () {
var module = CommunicationInjector({ var module = CommunicationInjector({
mailpoet: { mailpoet: {
Ajax: { Ajax: {
post: function() { post: function () {
var deferred = jQuery.Deferred(); var deferred = jQuery.Deferred();
deferred.resolve({ deferred.resolve({
data: [ data: [
{post_title: 'title 1'}, { post_title: 'title 1' },
{post_title: 'post title 2'} { post_title: 'post title 2' }
] ]
}); });
return deferred; return deferred;
@ -225,14 +225,14 @@ define([
} }
} }
}); });
module.getPosts().done(function(posts) { module.getPosts().done(function (posts) {
expect(posts).to.eql([{post_title: 'title 1'}, {post_title: 'post title 2'}]); expect(posts).to.eql([{ post_title: 'title 1' }, { post_title: 'post title 2' }]);
}); });
}); });
it('caches results', function() { it('caches results', function () {
var deferred = jQuery.Deferred(); var deferred = jQuery.Deferred();
var mock = sinon.mock({ post: function() {} }).expects('post').once().returns(deferred); var mock = sinon.mock({ post: function () {} }).expects('post').once().returns(deferred);
var module = CommunicationInjector({ var module = CommunicationInjector({
mailpoet: { mailpoet: {
Ajax: { Ajax: {
@ -251,10 +251,10 @@ define([
}); });
}); });
describe('getTransformedPosts', function() { describe('getTransformedPosts', function () {
it('sends options to endpoint', function() { it('sends options to endpoint', function () {
var spy; var spy;
var post = function() { var post = function () {
var deferred = jQuery.Deferred(); var deferred = jQuery.Deferred();
deferred.resolve({}); deferred.resolve({});
return deferred; return deferred;
@ -279,16 +279,16 @@ define([
}); });
}); });
it('fetches transformed posts from the server', function() { it('fetches transformed posts from the server', function () {
var module = CommunicationInjector({ var module = CommunicationInjector({
mailpoet: { mailpoet: {
Ajax: { Ajax: {
post: function() { post: function () {
var deferred = jQuery.Deferred(); var deferred = jQuery.Deferred();
deferred.resolve({ deferred.resolve({
data: [ data: [
{type: 'text', text: 'something'}, { type: 'text', text: 'something' },
{type: 'text', text: 'something else'} { type: 'text', text: 'something else' }
] ]
}); });
return deferred; return deferred;
@ -296,14 +296,14 @@ define([
} }
} }
}); });
module.getTransformedPosts().done(function(posts) { module.getTransformedPosts().done(function (posts) {
expect(posts).to.eql([{type: 'text', text: 'something'}, {type: 'text', text: 'something else'}]); expect(posts).to.eql([{ type: 'text', text: 'something' }, { type: 'text', text: 'something else' }]);
}); });
}); });
it('caches results', function() { it('caches results', function () {
var deferred = jQuery.Deferred(); var deferred = jQuery.Deferred();
var mock = sinon.mock({ post: function() {} }).expects('post').once().returns(deferred); var mock = sinon.mock({ post: function () {} }).expects('post').once().returns(deferred);
var module = CommunicationInjector({ var module = CommunicationInjector({
mailpoet: { mailpoet: {
Ajax: { Ajax: {

View File

@ -3,10 +3,10 @@ const expect = global.expect;
define([ define([
'newsletter_editor/App', 'newsletter_editor/App',
'newsletter_editor/components/config' 'newsletter_editor/components/config'
], function(EditorApplication, ConfigComponent) { ], function (EditorApplication, ConfigComponent) {
describe('Config', function () { describe('Config', function () {
it('loads and stores configuration', function() { it('loads and stores configuration', function () {
var model; var model;
ConfigComponent.setConfig({ ConfigComponent.setConfig({
testConfig: 'testValue' testConfig: 'testValue'

View File

@ -6,14 +6,14 @@ const _ = global._;
define([ define([
'newsletter_editor/App', 'newsletter_editor/App',
'newsletter_editor/components/content' 'newsletter_editor/components/content'
], function(App, ContentComponent) { ], function (App, ContentComponent) {
var EditorApplication = App; var EditorApplication = App;
describe('Content', function() { describe('Content', function () {
describe('newsletter model', function() { describe('newsletter model', function () {
var model; var model;
beforeEach(function() { beforeEach(function () {
model = new (ContentComponent.NewsletterModel)({ model = new (ContentComponent.NewsletterModel)({
body: { body: {
globalStyles: { globalStyles: {
@ -29,8 +29,8 @@ define([
}); });
}); });
it('triggers autosave on change', function() { it('triggers autosave on change', function () {
var mock = sinon.mock({ trigger: function() {} }).expects('trigger').once().withArgs('autoSave'); var mock = sinon.mock({ trigger: function () {} }).expects('trigger').once().withArgs('autoSave');
global.stubChannel(EditorApplication, { global.stubChannel(EditorApplication, {
trigger: mock trigger: mock
}); });
@ -38,13 +38,13 @@ define([
mock.verify(); mock.verify();
}); });
it('does not include styles and content properties in its JSON', function() { it('does not include styles and content properties in its JSON', function () {
var json = model.toJSON(); var json = model.toJSON();
expect(json).to.deep.equal({subject: 'my test subject'}); expect(json).to.deep.equal({ subject: 'my test subject' });
}); });
describe('toJSON()', function() { describe('toJSON()', function () {
it('will only contain properties modifiable by the editor', function() { it('will only contain properties modifiable by the editor', function () {
var model = new (ContentComponent.NewsletterModel)({ var model = new (ContentComponent.NewsletterModel)({
id: 19, id: 19,
subject: 'some subject', subject: 'some subject',
@ -63,8 +63,8 @@ define([
}); });
}); });
describe('block types', function() { describe('block types', function () {
it('registers a block type view and model', function() { it('registers a block type view and model', function () {
var blockModel = new Backbone.SuperModel(); var blockModel = new Backbone.SuperModel();
var blockView = new Backbone.View(); var blockView = new Backbone.View();
ContentComponent.registerBlockType('testType', { ContentComponent.registerBlockType('testType', {
@ -76,8 +76,8 @@ define([
}); });
}); });
describe('transformation to json', function() { describe('transformation to json', function () {
it('includes content, globalStyles and initial newsletter fields', function() { it('includes content, globalStyles and initial newsletter fields', function () {
var json; var json;
var dataField = { var dataField = {
containerModelField: 'containerModelValue' containerModelField: 'containerModelValue'
@ -89,20 +89,20 @@ define([
subject: 'test newsletter subject' subject: 'test newsletter subject'
}; };
EditorApplication._contentContainer = { EditorApplication._contentContainer = {
toJSON: function() { toJSON: function () {
return dataField; return dataField;
} }
}; };
EditorApplication.getGlobalStyles = function() { EditorApplication.getGlobalStyles = function () {
return { return {
toJSON: function() { toJSON: function () {
return stylesField; return stylesField;
} }
}; };
}; };
EditorApplication.getNewsletter = function() { EditorApplication.getNewsletter = function () {
return { return {
toJSON: function() { toJSON: function () {
return newsletterFields; return newsletterFields;
} }
}; };

View File

@ -4,12 +4,12 @@ const Backbone = global.Backbone;
define([ define([
'newsletter_editor/App', 'newsletter_editor/App',
'newsletter_editor/components/heading' 'newsletter_editor/components/heading'
], function(EditorApplication, HeadingComponent) { ], function (EditorApplication, HeadingComponent) {
describe('Heading', function() { describe('Heading', function () {
describe('view', function() { describe('view', function () {
var view; var view;
beforeEach(function() { beforeEach(function () {
var model = new Backbone.SuperModel({ var model = new Backbone.SuperModel({
subject: 'a test subject' subject: 'a test subject'
}); });
@ -18,14 +18,14 @@ define([
}); });
}); });
it('renders', function() { it('renders', function () {
expect(view.render).to.not.throw(); expect(view.render).to.not.throw();
}); });
describe('once rendered', function() { describe('once rendered', function () {
var view; var view;
var model; var model;
beforeEach(function() { beforeEach(function () {
model = new Backbone.SuperModel({ model = new Backbone.SuperModel({
subject: 'a test subject', subject: 'a test subject',
preheader: 'a test preheader' preheader: 'a test preheader'
@ -36,12 +36,12 @@ define([
view.render(); view.render();
}); });
it('changes the model when subject field is changed', function() { it('changes the model when subject field is changed', function () {
view.$('.mailpoet_input_title').val('a new testing subject').keyup(); view.$('.mailpoet_input_title').val('a new testing subject').keyup();
expect(model.get('subject')).to.equal('a new testing subject'); expect(model.get('subject')).to.equal('a new testing subject');
}); });
it('changes the model when preheader field is changed', function() { it('changes the model when preheader field is changed', function () {
view.$('.mailpoet_input_preheader').val('a new testing preheader').keyup(); view.$('.mailpoet_input_preheader').val('a new testing preheader').keyup();
expect(model.get('preheader')).to.equal('a new testing preheader'); expect(model.get('preheader')).to.equal('a new testing preheader');
}); });

View File

@ -6,23 +6,23 @@ define([
'newsletter_editor/components/save', 'newsletter_editor/components/save',
'amd-inject-loader!newsletter_editor/components/save', 'amd-inject-loader!newsletter_editor/components/save',
'jquery' 'jquery'
], function(App, SaveComponent, SaveInjector, jQuery) { ], function (App, SaveComponent, SaveInjector, jQuery) {
var EditorApplication = App; var EditorApplication = App;
describe('Save', function() { describe('Save', function () {
describe('save method', function() { describe('save method', function () {
var module; var module;
before(function() { before(function () {
module = SaveInjector({ module = SaveInjector({
'newsletter_editor/components/communication': { 'newsletter_editor/components/communication': {
saveNewsletter: function() { saveNewsletter: function () {
return jQuery.Deferred(); return jQuery.Deferred();
} }
} }
}); });
}); });
it('triggers beforeEditorSave event', function() { it('triggers beforeEditorSave event', function () {
var spy = sinon.spy(); var spy = sinon.spy();
global.stubChannel(EditorApplication, { global.stubChannel(EditorApplication, {
trigger: spy trigger: spy
@ -37,7 +37,7 @@ define([
expect(spy).to.have.been.calledWith('beforeEditorSave'); expect(spy).to.have.been.calledWith('beforeEditorSave');
}); });
it('triggers afterEditorSave event', function() { it('triggers afterEditorSave event', function () {
var module; var module;
var spy = sinon.spy(); var spy = sinon.spy();
var promise = jQuery.Deferred(); var promise = jQuery.Deferred();
@ -59,7 +59,7 @@ define([
expect(spy.withArgs('afterEditorSave').calledOnce).to.be.true;// eslint-disable-line no-unused-expressions expect(spy.withArgs('afterEditorSave').calledOnce).to.be.true;// eslint-disable-line no-unused-expressions
}); });
it('sends newsletter json to server for saving', function() { it('sends newsletter json to server for saving', function () {
var mock = sinon.mock().once().returns(jQuery.Deferred()); var mock = sinon.mock().once().returns(jQuery.Deferred());
var module = SaveInjector({ var module = SaveInjector({
'newsletter_editor/components/communication': { 'newsletter_editor/components/communication': {
@ -74,9 +74,9 @@ define([
mock.verify(); mock.verify();
}); });
it('encodes newsletter body in JSON format', function() { it('encodes newsletter body in JSON format', function () {
var module; var module;
var body = {type: 'testType'}; var body = { type: 'testType' };
var mock = sinon.mock() var mock = sinon.mock()
.once() .once()
.withArgs({ .withArgs({
@ -100,28 +100,28 @@ define([
}); });
describe('view', function() { describe('view', function () {
var view; var view;
before(function() { before(function () {
EditorApplication._contentContainer = { isValid: sinon.stub().returns(true) }; EditorApplication._contentContainer = { isValid: sinon.stub().returns(true) };
global.stubConfig(EditorApplication); global.stubConfig(EditorApplication);
view = new (SaveComponent.SaveView)(); view = new (SaveComponent.SaveView)();
}); });
it('renders', function() { it('renders', function () {
expect(view.render).to.not.throw(); expect(view.render).to.not.throw();
}); });
describe('once rendered', function() { describe('once rendered', function () {
var view; var view;
beforeEach(function() { beforeEach(function () {
EditorApplication._contentContainer = { isValid: sinon.stub().returns(true) }; EditorApplication._contentContainer = { isValid: sinon.stub().returns(true) };
view = new (SaveComponent.SaveView)(); view = new (SaveComponent.SaveView)();
view.render(); view.render();
}); });
it('triggers newsletter saving when clicked on save button', function() { it('triggers newsletter saving when clicked on save button', function () {
var mock = sinon.mock({ request: function() {} }).expects('request').once().withArgs('save'); var mock = sinon.mock({ request: function () {} }).expects('request').once().withArgs('save');
global.stubChannel(EditorApplication, { global.stubChannel(EditorApplication, {
request: mock request: mock
}); });
@ -130,19 +130,19 @@ define([
mock.verify(); mock.verify();
}); });
it('displays saving options when clicked on save options button', function() { it('displays saving options when clicked on save options button', function () {
view.$('.mailpoet_save_show_options').click(); view.$('.mailpoet_save_show_options').click();
expect(view.$('.mailpoet_save_options')).to.not.have.$class('mailpoet_hidden'); expect(view.$('.mailpoet_save_options')).to.not.have.$class('mailpoet_hidden');
}); });
it('triggers template saving when clicked on "save as template" button', function() { it('triggers template saving when clicked on "save as template" button', function () {
var mock = sinon.mock({ post: function() {} }).expects('post').once().returns(jQuery.Deferred()); var mock = sinon.mock({ post: function () {} }).expects('post').once().returns(jQuery.Deferred());
var html2canvasMock = jQuery.Deferred(); var html2canvasMock = jQuery.Deferred();
var module; var module;
var view; var view;
html2canvasMock.resolve({ html2canvasMock.resolve({
toDataURL: function() { return 'somedataurl'; } toDataURL: function () { return 'somedataurl'; }
}); });
EditorApplication.getBody = sinon.stub(); EditorApplication.getBody = sinon.stub();
@ -152,18 +152,18 @@ define([
post: mock post: mock
}, },
I18n: { I18n: {
t: function() { return ''; } t: function () { return ''; }
}, },
Notice: { Notice: {
success: function() {}, success: function () {},
error: function() {} error: function () {}
}, },
trackEvent: function() {} trackEvent: function () {}
}, },
'newsletter_editor/App': EditorApplication, 'newsletter_editor/App': EditorApplication,
html2canvas: function() { html2canvas: function () {
return { return {
then: function() { return html2canvasMock; } then: function () { return html2canvasMock; }
}; };
} }
}); });
@ -177,12 +177,12 @@ define([
mock.verify(); mock.verify();
}); });
it('saves newsletter when clicked on "next" button', function() { it('saves newsletter when clicked on "next" button', function () {
var spy = sinon.spy(); var spy = sinon.spy();
var view; var view;
var module = SaveInjector({ var module = SaveInjector({
'newsletter_editor/components/communication': { 'newsletter_editor/components/communication': {
saveNewsletter: function() { saveNewsletter: function () {
return jQuery.Deferred(); return jQuery.Deferred();
} }
} }

View File

@ -4,53 +4,53 @@ const Backbone = global.Backbone;
define([ define([
'newsletter_editor/App', 'newsletter_editor/App',
'newsletter_editor/components/sidebar' 'newsletter_editor/components/sidebar'
], function(EditorApplication, SidebarComponent) { ], function (EditorApplication, SidebarComponent) {
describe('Sidebar', function() { describe('Sidebar', function () {
describe('content view', function() { describe('content view', function () {
var view; var view;
beforeEach(function() { beforeEach(function () {
view = new (SidebarComponent.SidebarWidgetsView)({ view = new (SidebarComponent.SidebarWidgetsView)({
collection: new Backbone.Collection([]) collection: new Backbone.Collection([])
}); });
}); });
it('renders', function() { it('renders', function () {
expect(view.render).to.not.throw(); expect(view.render).to.not.throw();
}); });
}); });
describe('layout view', function() { describe('layout view', function () {
var view; var view;
beforeEach(function() { beforeEach(function () {
view = new (SidebarComponent.SidebarLayoutWidgetsView)({ view = new (SidebarComponent.SidebarLayoutWidgetsView)({
collection: new Backbone.Collection([]) collection: new Backbone.Collection([])
}); });
}); });
it('renders', function() { it('renders', function () {
expect(view.render).to.not.throw(); expect(view.render).to.not.throw();
}); });
}); });
describe('styles view', function() { describe('styles view', function () {
var view; var view;
beforeEach(function() { beforeEach(function () {
view = new (SidebarComponent.SidebarStylesView)({ view = new (SidebarComponent.SidebarStylesView)({
model: new Backbone.SuperModel({}), model: new Backbone.SuperModel({}),
availableStyles: new Backbone.SuperModel({}) availableStyles: new Backbone.SuperModel({})
}); });
}); });
it('renders', function() { it('renders', function () {
expect(view.render).to.not.throw(); expect(view.render).to.not.throw();
}); });
describe('once rendered', function() { describe('once rendered', function () {
var model; var model;
var availableStyles; var availableStyles;
var view; var view;
before(function() { before(function () {
model = new Backbone.SuperModel({ model = new Backbone.SuperModel({
text: { text: {
fontColor: '#000000', fontColor: '#000000',
@ -96,95 +96,95 @@ define([
view.render(); view.render();
}); });
it('changes model if text font color field changes', function() { it('changes model if text font color field changes', function () {
view.$('#mailpoet_text_font_color').val('#123456').change(); view.$('#mailpoet_text_font_color').val('#123456').change();
expect(model.get('text.fontColor')).to.equal('#123456'); expect(model.get('text.fontColor')).to.equal('#123456');
}); });
it('changes model if h1 font color field changes', function() { it('changes model if h1 font color field changes', function () {
view.$('#mailpoet_h1_font_color').val('#123457').change(); view.$('#mailpoet_h1_font_color').val('#123457').change();
expect(model.get('h1.fontColor')).to.equal('#123457'); expect(model.get('h1.fontColor')).to.equal('#123457');
}); });
it('changes model if h2 font color field changes', function() { it('changes model if h2 font color field changes', function () {
view.$('#mailpoet_h2_font_color').val('#123458').change(); view.$('#mailpoet_h2_font_color').val('#123458').change();
expect(model.get('h2.fontColor')).to.equal('#123458'); expect(model.get('h2.fontColor')).to.equal('#123458');
}); });
it('changes model if h3 font color field changes', function() { it('changes model if h3 font color field changes', function () {
view.$('#mailpoet_h3_font_color').val('#123426').change(); view.$('#mailpoet_h3_font_color').val('#123426').change();
expect(model.get('h3.fontColor')).to.equal('#123426'); expect(model.get('h3.fontColor')).to.equal('#123426');
}); });
it('changes model if link font color field changes', function() { it('changes model if link font color field changes', function () {
view.$('#mailpoet_a_font_color').val('#323232').change(); view.$('#mailpoet_a_font_color').val('#323232').change();
expect(model.get('link.fontColor')).to.equal('#323232'); expect(model.get('link.fontColor')).to.equal('#323232');
}); });
it('changes model if newsletter background color field changes', function() { it('changes model if newsletter background color field changes', function () {
view.$('#mailpoet_newsletter_background_color').val('#636237').change(); view.$('#mailpoet_newsletter_background_color').val('#636237').change();
expect(model.get('wrapper.backgroundColor')).to.equal('#636237'); expect(model.get('wrapper.backgroundColor')).to.equal('#636237');
}); });
it('changes model if background color field changes', function() { it('changes model if background color field changes', function () {
view.$('#mailpoet_background_color').val('#878587').change(); view.$('#mailpoet_background_color').val('#878587').change();
expect(model.get('body.backgroundColor')).to.equal('#878587'); expect(model.get('body.backgroundColor')).to.equal('#878587');
}); });
it('changes model if text font family field changes', function() { it('changes model if text font family field changes', function () {
view.$('#mailpoet_text_font_family').val('Times New Roman').change(); view.$('#mailpoet_text_font_family').val('Times New Roman').change();
expect(model.get('text.fontFamily')).to.equal('Times New Roman'); expect(model.get('text.fontFamily')).to.equal('Times New Roman');
}); });
it('changes model if h1 font family field changes', function() { it('changes model if h1 font family field changes', function () {
view.$('#mailpoet_h1_font_family').val('Comic Sans').change(); view.$('#mailpoet_h1_font_family').val('Comic Sans').change();
expect(model.get('h1.fontFamily')).to.equal('Comic Sans'); expect(model.get('h1.fontFamily')).to.equal('Comic Sans');
}); });
it('changes model if h2 font family field changes', function() { it('changes model if h2 font family field changes', function () {
view.$('#mailpoet_h2_font_family').val('Tahoma').change(); view.$('#mailpoet_h2_font_family').val('Tahoma').change();
expect(model.get('h2.fontFamily')).to.equal('Tahoma'); expect(model.get('h2.fontFamily')).to.equal('Tahoma');
}); });
it('changes model if h3 font family field changes', function() { it('changes model if h3 font family field changes', function () {
view.$('#mailpoet_h3_font_family').val('Lucida').change(); view.$('#mailpoet_h3_font_family').val('Lucida').change();
expect(model.get('h3.fontFamily')).to.equal('Lucida'); expect(model.get('h3.fontFamily')).to.equal('Lucida');
}); });
it('changes model if text font size field changes', function() { it('changes model if text font size field changes', function () {
view.$('#mailpoet_text_font_size').val('9px').change(); view.$('#mailpoet_text_font_size').val('9px').change();
expect(model.get('text.fontSize')).to.equal('9px'); expect(model.get('text.fontSize')).to.equal('9px');
}); });
it('changes model if h1 font size field changes', function() { it('changes model if h1 font size field changes', function () {
view.$('#mailpoet_h1_font_size').val('12px').change(); view.$('#mailpoet_h1_font_size').val('12px').change();
expect(model.get('h1.fontSize')).to.equal('12px'); expect(model.get('h1.fontSize')).to.equal('12px');
}); });
it('changes model if h2 font size field changes', function() { it('changes model if h2 font size field changes', function () {
view.$('#mailpoet_h2_font_size').val('14px').change(); view.$('#mailpoet_h2_font_size').val('14px').change();
expect(model.get('h2.fontSize')).to.equal('14px'); expect(model.get('h2.fontSize')).to.equal('14px');
}); });
it('changes model if h3 font size field changes', function() { it('changes model if h3 font size field changes', function () {
view.$('#mailpoet_h3_font_size').val('16px').change(); view.$('#mailpoet_h3_font_size').val('16px').change();
expect(model.get('h3.fontSize')).to.equal('16px'); expect(model.get('h3.fontSize')).to.equal('16px');
}); });
it('changes model if link underline field changes', function() { it('changes model if link underline field changes', function () {
view.$('#mailpoet_a_font_underline').prop('checked', true).change(); view.$('#mailpoet_a_font_underline').prop('checked', true).change();
expect(model.get('link.textDecoration')).to.equal('underline'); expect(model.get('link.textDecoration')).to.equal('underline');
}); });
}); });
}); });
describe('preview view', function() { describe('preview view', function () {
var view; var view;
beforeEach(function() { beforeEach(function () {
view = new (SidebarComponent.SidebarPreviewView)(); view = new (SidebarComponent.SidebarPreviewView)();
}); });
it('renders', function() { it('renders', function () {
expect(view.render).to.not.throw(); expect(view.render).to.not.throw();
}); });
}); });

View File

@ -4,11 +4,11 @@ const sinon = global.sinon;
define([ define([
'newsletter_editor/App', 'newsletter_editor/App',
'newsletter_editor/components/styles' 'newsletter_editor/components/styles'
], function(App, StylesComponent) { ], function (App, StylesComponent) {
var EditorApplication = App; var EditorApplication = App;
describe('Styles', function () { describe('Styles', function () {
it('loads and stores globally available styles', function() { it('loads and stores globally available styles', function () {
var model; var model;
StylesComponent.setGlobalStyles({ StylesComponent.setGlobalStyles({
testStyle: 'testValue' testStyle: 'testValue'
@ -17,15 +17,15 @@ define([
expect(model.get('testStyle')).to.equal('testValue'); expect(model.get('testStyle')).to.equal('testValue');
}); });
describe('model', function() { describe('model', function () {
var model; var model;
beforeEach(function() { beforeEach(function () {
model = new (StylesComponent.StylesModel)(); model = new (StylesComponent.StylesModel)();
}); });
it('triggers autoSave when changed', function() { it('triggers autoSave when changed', function () {
var mock = sinon.mock({ trigger: function(){}}).expects('trigger').once().withExactArgs('autoSave'); var mock = sinon.mock({ trigger: function () {} }).expects('trigger').once().withExactArgs('autoSave');
EditorApplication.getChannel = function() { EditorApplication.getChannel = function () {
return { return {
trigger: mock trigger: mock
}; };
@ -35,15 +35,15 @@ define([
}); });
}); });
describe('view', function() { describe('view', function () {
var model; var model;
var view; var view;
beforeEach(function() { beforeEach(function () {
model = new (StylesComponent.StylesModel)(); model = new (StylesComponent.StylesModel)();
view = new (StylesComponent.StylesView)({ model: model }); view = new (StylesComponent.StylesView)({ model: model });
}); });
it('renders', function() { it('renders', function () {
expect(view.render).to.not.throw(); expect(view.render).to.not.throw();
}); });
}); });