Fix editor's newsletter saving tests
This commit is contained in:
@ -5,8 +5,9 @@ define([
|
||||
'jquery',
|
||||
'underscore',
|
||||
'handlebars',
|
||||
'handlebars_helpers',
|
||||
], function(Backbone, Marionette, SuperModel, jQuery, _, Handlebars) {
|
||||
'handlebars_helpers'
|
||||
], function(Backbone, Marionette, SuperModel, jQuery, _, Handlebars) {
|
||||
|
||||
var app = new Marionette.Application(), AppView;
|
||||
|
||||
// Decoupled communication between application components
|
||||
|
@ -5,7 +5,7 @@
|
||||
* For more check: http://marionettejs.com/docs/marionette.behaviors.html#behaviorslookup
|
||||
*/
|
||||
define([
|
||||
'backbone.marionette',
|
||||
'backbone.marionette'
|
||||
], function(Marionette) {
|
||||
|
||||
var BehaviorsLookup = {};
|
||||
|
@ -6,7 +6,7 @@
|
||||
define([
|
||||
'backbone.marionette',
|
||||
'newsletter_editor/behaviors/BehaviorsLookup',
|
||||
'spectrum',
|
||||
'spectrum'
|
||||
], function(Marionette, BehaviorsLookup, Spectrum) {
|
||||
|
||||
BehaviorsLookup.ColorPickerBehavior = Marionette.Behavior.extend({
|
||||
|
@ -10,7 +10,7 @@ define([
|
||||
'underscore',
|
||||
'jquery',
|
||||
'newsletter_editor/behaviors/BehaviorsLookup',
|
||||
'interact',
|
||||
'interact'
|
||||
], function(Marionette, _, jQuery, BehaviorsLookup, interact) {
|
||||
|
||||
BehaviorsLookup.ContainerDropZoneBehavior = Marionette.Behavior.extend({
|
||||
|
@ -9,7 +9,7 @@ define([
|
||||
'underscore',
|
||||
'jquery',
|
||||
'newsletter_editor/behaviors/BehaviorsLookup',
|
||||
'interact',
|
||||
'interact'
|
||||
], function(Marionette, _, jQuery, BehaviorsLookup, interact) {
|
||||
|
||||
BehaviorsLookup.DraggableBehavior = Marionette.Behavior.extend({
|
||||
|
@ -6,7 +6,7 @@
|
||||
define([
|
||||
'backbone.marionette',
|
||||
'newsletter_editor/behaviors/BehaviorsLookup',
|
||||
'interact',
|
||||
'interact'
|
||||
], function(Marionette, BehaviorsLookup, interact) {
|
||||
|
||||
BehaviorsLookup.ResizableBehavior = Marionette.Behavior.extend({
|
||||
|
@ -6,7 +6,7 @@
|
||||
define([
|
||||
'backbone.marionette',
|
||||
'underscore',
|
||||
'newsletter_editor/behaviors/BehaviorsLookup',
|
||||
'newsletter_editor/behaviors/BehaviorsLookup'
|
||||
], function(Marionette, _, BehaviorsLookup) {
|
||||
|
||||
BehaviorsLookup.SortableBehavior = Marionette.Behavior.extend({
|
||||
|
@ -13,7 +13,7 @@ define([
|
||||
'newsletter_editor/blocks/divider',
|
||||
'newsletter_editor/components/wordpress',
|
||||
'underscore',
|
||||
'jquery',
|
||||
'jquery'
|
||||
], function(App, BaseBlock, ButtonBlock, DividerBlock, WordpressComponent, _, jQuery) {
|
||||
|
||||
"use strict";
|
||||
|
@ -11,7 +11,7 @@ define([
|
||||
'underscore',
|
||||
'jquery',
|
||||
'mailpoet',
|
||||
'modal',
|
||||
'modal'
|
||||
], function(App, Marionette, SuperModel, _, jQuery, MailPoet, Modal) {
|
||||
|
||||
"use strict";
|
||||
|
@ -6,7 +6,7 @@ define([
|
||||
'newsletter_editor/blocks/base',
|
||||
'mailpoet',
|
||||
'underscore',
|
||||
'jquery',
|
||||
'jquery'
|
||||
], function(App, BaseBlock, MailPoet, _, jQuery) {
|
||||
|
||||
"use strict";
|
||||
|
@ -9,7 +9,7 @@ define([
|
||||
'underscore',
|
||||
'jquery',
|
||||
'newsletter_editor/App',
|
||||
'newsletter_editor/blocks/base',
|
||||
'newsletter_editor/blocks/base'
|
||||
], function(Backbone, Marionette, _, jQuery, App, BaseBlock) {
|
||||
|
||||
"use strict";
|
||||
|
@ -6,7 +6,7 @@ define([
|
||||
'newsletter_editor/blocks/base',
|
||||
'underscore',
|
||||
'jquery',
|
||||
'mailpoet',
|
||||
'mailpoet'
|
||||
], function(App, BaseBlock, _, jQuery, MailPoet) {
|
||||
|
||||
"use strict";
|
||||
|
@ -4,7 +4,7 @@
|
||||
define([
|
||||
'newsletter_editor/App',
|
||||
'newsletter_editor/blocks/base',
|
||||
'underscore',
|
||||
'underscore'
|
||||
], function(App, BaseBlock, _) {
|
||||
|
||||
"use strict";
|
||||
|
@ -4,7 +4,7 @@
|
||||
define([
|
||||
'newsletter_editor/App',
|
||||
'newsletter_editor/blocks/base',
|
||||
'underscore',
|
||||
'underscore'
|
||||
], function(App, BaseBlock, _) {
|
||||
|
||||
"use strict";
|
||||
|
@ -4,7 +4,7 @@
|
||||
define([
|
||||
'newsletter_editor/App',
|
||||
'newsletter_editor/blocks/base',
|
||||
'underscore',
|
||||
'underscore'
|
||||
], function(App, BaseBlock, _) {
|
||||
|
||||
"use strict";
|
||||
|
@ -21,7 +21,7 @@ define([
|
||||
'newsletter_editor/components/wordpress',
|
||||
'newsletter_editor/blocks/base',
|
||||
'newsletter_editor/blocks/button',
|
||||
'newsletter_editor/blocks/divider',
|
||||
'newsletter_editor/blocks/divider'
|
||||
], function(Backbone, Marionette, Radio, _, jQuery, MailPoet, App, WordpressComponent, BaseBlock, ButtonBlock, DividerBlock) {
|
||||
|
||||
"use strict";
|
||||
|
@ -8,7 +8,7 @@ define([
|
||||
'backbone.marionette',
|
||||
'backbone.supermodel',
|
||||
'underscore',
|
||||
'jquery',
|
||||
'jquery'
|
||||
], function(App, BaseBlock, Backbone, Marionette, SuperModel, _, jQuery) {
|
||||
|
||||
"use strict";
|
||||
|
@ -4,7 +4,7 @@
|
||||
define([
|
||||
'newsletter_editor/App',
|
||||
'newsletter_editor/blocks/base',
|
||||
'underscore',
|
||||
'underscore'
|
||||
], function(App, BaseBlock, _) {
|
||||
|
||||
"use strict";
|
||||
|
@ -4,7 +4,7 @@
|
||||
define([
|
||||
'newsletter_editor/App',
|
||||
'newsletter_editor/blocks/base',
|
||||
'underscore',
|
||||
'underscore'
|
||||
], function(App, BaseBlock, _) {
|
||||
|
||||
"use strict";
|
||||
|
@ -1,6 +1,6 @@
|
||||
define([
|
||||
'newsletter_editor/App',
|
||||
'backbone.supermodel',
|
||||
'backbone.supermodel'
|
||||
], function(App, SuperModel) {
|
||||
|
||||
var Module = {};
|
||||
|
@ -1,7 +1,7 @@
|
||||
define([
|
||||
'newsletter_editor/App',
|
||||
'backbone.supermodel',
|
||||
'underscore',
|
||||
'underscore'
|
||||
], function(App, SuperModel, _) {
|
||||
"use strict";
|
||||
|
||||
|
@ -3,7 +3,7 @@ define([
|
||||
'backbone',
|
||||
'backbone.marionette',
|
||||
'underscore',
|
||||
'jquery',
|
||||
'jquery'
|
||||
], function(App, Backbone, Marionette, _, jQuery) {
|
||||
|
||||
"use strict";
|
||||
|
@ -2,7 +2,7 @@ define([
|
||||
'newsletter_editor/App',
|
||||
'newsletter_editor/components/wordpress',
|
||||
'backbone',
|
||||
'backbone.marionette',
|
||||
'backbone.marionette'
|
||||
], function(App, Wordpress, Backbone, Marionette) {
|
||||
|
||||
"use strict";
|
||||
|
@ -5,7 +5,7 @@ define([
|
||||
'backbone.supermodel',
|
||||
'underscore',
|
||||
'jquery',
|
||||
'sticky-kit',
|
||||
'sticky-kit'
|
||||
], function(App, Backbone, Marionette, SuperModel, _, jQuery, StickyKit) {
|
||||
|
||||
"use strict";
|
||||
|
@ -1,7 +1,7 @@
|
||||
define([
|
||||
'newsletter_editor/App',
|
||||
'backbone.marionette',
|
||||
'backbone.supermodel',
|
||||
'backbone.supermodel'
|
||||
], function(App, Marionette, SuperModel) {
|
||||
|
||||
"use strict";
|
||||
|
@ -1,40 +1,56 @@
|
||||
define([
|
||||
'newsletter_editor/App',
|
||||
'newsletter_editor/components/save'
|
||||
], function(EditorApplication, SaveComponent) {
|
||||
'newsletter_editor/components/save',
|
||||
'amd-inject-loader!newsletter_editor/components/save'
|
||||
], function(EditorApplication, SaveComponent, SaveInjector) {
|
||||
|
||||
describe('Save', function() {
|
||||
describe('save method', function() {
|
||||
var module;
|
||||
before(function() {
|
||||
module = SaveInjector({
|
||||
'newsletter_editor/components/wordpress': {
|
||||
saveNewsletter: function() {
|
||||
var deferred = jQuery.Deferred();
|
||||
deferred.resolve({});
|
||||
return deferred;
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
it('triggers beforeEditorSave event', function() {
|
||||
var spy = sinon.spy();
|
||||
global.stubChannel(EditorApplication, {
|
||||
trigger: spy,
|
||||
});
|
||||
global.mailpoet_post_wpi = sinon.stub();
|
||||
EditorApplication.toJSON = sinon.stub();
|
||||
SaveComponent.save();
|
||||
module.save();
|
||||
expect(spy.withArgs('beforeEditorSave').calledOnce).to.be.true;
|
||||
});
|
||||
|
||||
it.skip('triggers afterEditorSave event', function() {
|
||||
it('triggers afterEditorSave event', function() {
|
||||
var stub = sinon.stub().callsArgWith(2, { success: true }),
|
||||
spy = sinon.spy();
|
||||
global.mailpoet_post_wpi = stub;
|
||||
global.stubChannel(EditorApplication, {
|
||||
trigger: spy,
|
||||
});
|
||||
EditorApplication.toJSON = sinon.stub();
|
||||
SaveComponent.save();
|
||||
module.save();
|
||||
expect(spy.withArgs('afterEditorSave').calledOnce).to.be.true;
|
||||
});
|
||||
|
||||
it.skip('sends newsletter json to server for saving', function() {
|
||||
var mock = sinon.mock({ mailpoet_post_wpi: function() {} }).expects('mailpoet_post_wpi').once();
|
||||
it('sends newsletter json to server for saving', function() {
|
||||
var mock = sinon.mock({ saveNewsletter: function() {} }).expects('saveNewsletter').once().returns(jQuery.Deferred());
|
||||
var module = SaveInjector({
|
||||
'newsletter_editor/components/wordpress': {
|
||||
saveNewsletter: mock,
|
||||
}
|
||||
});
|
||||
global.stubChannel(EditorApplication);
|
||||
global.mailpoet_post_wpi = mock;
|
||||
|
||||
EditorApplication.toJSON = sinon.stub().returns({});
|
||||
SaveComponent.save();
|
||||
module.save();
|
||||
|
||||
mock.verify();
|
||||
});
|
||||
|
@ -1,16 +1,12 @@
|
||||
define([
|
||||
'newsletter_editor/App',
|
||||
'newsletter_editor/components/wordpress'
|
||||
], function(EditorApplication, Wordpress) {
|
||||
'newsletter_editor/components/wordpress',
|
||||
'amd-inject-loader!newsletter_editor/components/wordpress'
|
||||
], function(EditorApplication, Wordpress, WordpressInjector) {
|
||||
|
||||
describe('getPostTypes', function() {
|
||||
var injector;
|
||||
beforeEach(function() {
|
||||
injector = require('amd-inject-loader!newsletter_editor/components/wordpress');
|
||||
});
|
||||
|
||||
it('fetches post types from the server', function() {
|
||||
var module = injector({
|
||||
var module = WordpressInjector({
|
||||
"mailpoet": {
|
||||
Ajax: {
|
||||
post: function() {
|
||||
@ -32,7 +28,7 @@ define([
|
||||
it('caches results', function() {
|
||||
var deferred = jQuery.Deferred(),
|
||||
mock = sinon.mock({ post: function() {} }).expects('post').once().returns(deferred),
|
||||
module = injector({
|
||||
module = WordpressInjector({
|
||||
"mailpoet": {
|
||||
Ajax: {
|
||||
post: mock,
|
||||
@ -51,11 +47,6 @@ define([
|
||||
});
|
||||
|
||||
describe('getTaxonomies', function() {
|
||||
var injector;
|
||||
beforeEach(function() {
|
||||
injector = require('amd-inject-loader!newsletter_editor/components/wordpress');
|
||||
});
|
||||
|
||||
it('sends post type to endpoint', function() {
|
||||
var spy,
|
||||
post = function(params) {
|
||||
@ -68,7 +59,7 @@ define([
|
||||
},
|
||||
module;
|
||||
spy = sinon.spy(post);
|
||||
module = injector({
|
||||
module = WordpressInjector({
|
||||
"mailpoet": {
|
||||
Ajax: {
|
||||
post: spy,
|
||||
@ -81,7 +72,7 @@ define([
|
||||
});
|
||||
|
||||
it('fetches post types from the server', function() {
|
||||
var module = injector({
|
||||
var module = WordpressInjector({
|
||||
"mailpoet": {
|
||||
Ajax: {
|
||||
post: function() {
|
||||
@ -100,7 +91,7 @@ define([
|
||||
it('caches results', function() {
|
||||
var deferred = jQuery.Deferred(),
|
||||
mock = sinon.mock({ post: function() {} }).expects('post').once().returns(deferred),
|
||||
module = injector({
|
||||
module = WordpressInjector({
|
||||
"mailpoet": {
|
||||
Ajax: {
|
||||
post: mock,
|
||||
@ -116,11 +107,6 @@ define([
|
||||
});
|
||||
|
||||
describe('getTerms', function() {
|
||||
var injector;
|
||||
beforeEach(function() {
|
||||
injector = require('amd-inject-loader!newsletter_editor/components/wordpress');
|
||||
});
|
||||
|
||||
it('sends terms to endpoint', function() {
|
||||
var spy,
|
||||
post = function(params) {
|
||||
@ -130,7 +116,7 @@ define([
|
||||
},
|
||||
module;
|
||||
spy = sinon.spy(post);
|
||||
module = injector({
|
||||
module = WordpressInjector({
|
||||
"mailpoet": {
|
||||
Ajax: {
|
||||
post: spy,
|
||||
@ -145,7 +131,7 @@ define([
|
||||
});
|
||||
|
||||
it('fetches terms from the server', function() {
|
||||
var module = injector({
|
||||
var module = WordpressInjector({
|
||||
"mailpoet": {
|
||||
Ajax: {
|
||||
post: function() {
|
||||
@ -164,7 +150,7 @@ define([
|
||||
it('caches results', function() {
|
||||
var deferred = jQuery.Deferred(),
|
||||
mock = sinon.mock({ post: function() {} }).expects('post').once().returns(deferred),
|
||||
module = injector({
|
||||
module = WordpressInjector({
|
||||
"mailpoet": {
|
||||
Ajax: {
|
||||
post: mock,
|
||||
@ -180,11 +166,6 @@ define([
|
||||
});
|
||||
|
||||
describe('getPosts', function() {
|
||||
var injector;
|
||||
beforeEach(function() {
|
||||
injector = require('amd-inject-loader!newsletter_editor/components/wordpress');
|
||||
});
|
||||
|
||||
it('sends options to endpoint', function() {
|
||||
var spy,
|
||||
post = function(params) {
|
||||
@ -194,7 +175,7 @@ define([
|
||||
},
|
||||
module;
|
||||
spy = sinon.spy(post);
|
||||
module = injector({
|
||||
module = WordpressInjector({
|
||||
"mailpoet": {
|
||||
Ajax: {
|
||||
post: spy,
|
||||
@ -213,7 +194,7 @@ define([
|
||||
});
|
||||
|
||||
it('fetches posts from the server', function() {
|
||||
var module = injector({
|
||||
var module = WordpressInjector({
|
||||
"mailpoet": {
|
||||
Ajax: {
|
||||
post: function() {
|
||||
@ -232,7 +213,7 @@ define([
|
||||
it('caches results', function() {
|
||||
var deferred = jQuery.Deferred(),
|
||||
mock = sinon.mock({ post: function() {} }).expects('post').once().returns(deferred),
|
||||
module = injector({
|
||||
module = WordpressInjector({
|
||||
"mailpoet": {
|
||||
Ajax: {
|
||||
post: mock,
|
||||
@ -251,11 +232,6 @@ define([
|
||||
});
|
||||
|
||||
describe('getTransformedPosts', function() {
|
||||
var injector;
|
||||
beforeEach(function() {
|
||||
injector = require('amd-inject-loader!newsletter_editor/components/wordpress');
|
||||
});
|
||||
|
||||
it('sends options to endpoint', function() {
|
||||
var spy,
|
||||
post = function(params) {
|
||||
@ -265,7 +241,7 @@ define([
|
||||
},
|
||||
module;
|
||||
spy = sinon.spy(post);
|
||||
module = injector({
|
||||
module = WordpressInjector({
|
||||
"mailpoet": {
|
||||
Ajax: {
|
||||
post: spy,
|
||||
@ -284,7 +260,7 @@ define([
|
||||
});
|
||||
|
||||
it('fetches transformed posts from the server', function() {
|
||||
var module = injector({
|
||||
var module = WordpressInjector({
|
||||
"mailpoet": {
|
||||
Ajax: {
|
||||
post: function() {
|
||||
@ -303,7 +279,7 @@ define([
|
||||
it('caches results', function() {
|
||||
var deferred = jQuery.Deferred(),
|
||||
mock = sinon.mock({ post: function() {} }).expects('post').once().returns(deferred),
|
||||
module = injector({
|
||||
module = WordpressInjector({
|
||||
"mailpoet": {
|
||||
Ajax: {
|
||||
post: mock,
|
||||
|
Reference in New Issue
Block a user