editor: Update config blockDefaults by latest used value per type
This commit is contained in:
@ -6,6 +6,7 @@ define([
|
||||
'newsletter_editor/blocks/button'
|
||||
], function (App, ButtonBlock) {
|
||||
var EditorApplication = App;
|
||||
var sandbox;
|
||||
|
||||
describe('Button', function () {
|
||||
describe('model', function () {
|
||||
@ -17,12 +18,14 @@ define([
|
||||
blockDefaults: {}
|
||||
});
|
||||
model = new (ButtonBlock.ButtonBlockModel)();
|
||||
sandbox = sinon.sandbox.create();
|
||||
});
|
||||
|
||||
afterEach(function () {
|
||||
if (EditorApplication.getChannel) {
|
||||
delete EditorApplication.getChannel;
|
||||
}
|
||||
sandbox.restore();
|
||||
});
|
||||
|
||||
it('has a button type', function () {
|
||||
@ -107,6 +110,14 @@ define([
|
||||
mock.verify();
|
||||
});
|
||||
|
||||
it('updates blockDefaults.button when changed', function () {
|
||||
var stub = sandbox.stub(EditorApplication.getConfig(), 'set');
|
||||
model.trigger('change');
|
||||
expect(stub.callCount).to.equal(1);
|
||||
expect(stub.getCall(0).args[0]).to.equal('blockDefaults.button');
|
||||
expect(stub.getCall(0).args[1]).to.deep.equal(model.toJSON());
|
||||
});
|
||||
|
||||
it('uses defaults from config when they are set', function () {
|
||||
global.stubConfig(EditorApplication, {
|
||||
blockDefaults: {
|
||||
|
@ -6,6 +6,7 @@ define([
|
||||
'newsletter_editor/blocks/divider'
|
||||
], function (App, DividerBlock) {
|
||||
var EditorApplication = App;
|
||||
var sandbox;
|
||||
|
||||
describe('Divider', function () {
|
||||
describe('model', function () {
|
||||
@ -18,10 +19,12 @@ define([
|
||||
});
|
||||
global.stubAvailableStyles(EditorApplication);
|
||||
model = new (DividerBlock.DividerBlockModel)();
|
||||
sandbox = sinon.sandbox.create();
|
||||
});
|
||||
|
||||
afterEach(function () {
|
||||
delete EditorApplication.getChannel;
|
||||
sandbox.restore();
|
||||
});
|
||||
|
||||
it('has a divider type', function () {
|
||||
@ -94,6 +97,14 @@ define([
|
||||
expect(innerModel.get('styles.block.borderWidth')).to.equal('7px');
|
||||
expect(innerModel.get('styles.block.borderColor')).to.equal('#345678');
|
||||
});
|
||||
|
||||
it('updates blockDefaults.divider when changed', function () {
|
||||
var stub = sandbox.stub(EditorApplication.getConfig(), 'set');
|
||||
model.trigger('change');
|
||||
expect(stub.callCount).to.equal(1);
|
||||
expect(stub.getCall(0).args[0]).to.equal('blockDefaults.divider');
|
||||
expect(stub.getCall(0).args[1]).to.deep.equal(model.toJSON());
|
||||
});
|
||||
});
|
||||
|
||||
describe('block view', function () {
|
||||
|
@ -10,12 +10,18 @@ define([
|
||||
describe('Footer', function () {
|
||||
describe('model', function () {
|
||||
var model;
|
||||
var sandbox;
|
||||
beforeEach(function () {
|
||||
global.stubChannel(EditorApplication);
|
||||
global.stubConfig(EditorApplication, {
|
||||
blockDefaults: {}
|
||||
});
|
||||
model = new (FooterBlock.FooterBlockModel)();
|
||||
sandbox = sinon.sandbox.create();
|
||||
});
|
||||
|
||||
afterEach(function () {
|
||||
sandbox.restore();
|
||||
});
|
||||
|
||||
it('has a footer type', function () {
|
||||
@ -113,6 +119,14 @@ define([
|
||||
expect(innerModel.get('styles.link.fontColor')).to.equal('#345678');
|
||||
expect(innerModel.get('styles.link.textDecoration')).to.equal('underline');
|
||||
});
|
||||
|
||||
it('updates blockDefaults.footer when changed', function () {
|
||||
var stub = sandbox.stub(EditorApplication.getConfig(), 'set');
|
||||
model.trigger('change');
|
||||
expect(stub.callCount).to.equal(1);
|
||||
expect(stub.getCall(0).args[0]).to.equal('blockDefaults.footer');
|
||||
expect(stub.getCall(0).args[1]).to.deep.equal(model.toJSON());
|
||||
});
|
||||
});
|
||||
|
||||
describe('block view', function () {
|
||||
|
@ -10,12 +10,17 @@ define([
|
||||
describe('Header', function () {
|
||||
describe('model', function () {
|
||||
var model;
|
||||
var sandbox;
|
||||
beforeEach(function () {
|
||||
global.stubChannel(EditorApplication);
|
||||
global.stubConfig(EditorApplication, {
|
||||
blockDefaults: {}
|
||||
});
|
||||
model = new (HeaderBlock.HeaderBlockModel)();
|
||||
sandbox = sinon.sandbox.create();
|
||||
});
|
||||
afterEach(function () {
|
||||
sandbox.restore();
|
||||
});
|
||||
|
||||
it('has a header type', function () {
|
||||
@ -113,6 +118,14 @@ define([
|
||||
expect(innerModel.get('styles.link.fontColor')).to.equal('#345678');
|
||||
expect(innerModel.get('styles.link.textDecoration')).to.equal('underline');
|
||||
});
|
||||
|
||||
it('updates blockDefaults.header when changed', function () {
|
||||
var stub = sandbox.stub(EditorApplication.getConfig(), 'set');
|
||||
model.trigger('change');
|
||||
expect(stub.callCount).to.equal(1);
|
||||
expect(stub.getCall(0).args[0]).to.equal('blockDefaults.header');
|
||||
expect(stub.getCall(0).args[1]).to.deep.equal(model.toJSON());
|
||||
});
|
||||
});
|
||||
|
||||
describe('block view', function () {
|
||||
|
@ -10,6 +10,7 @@ define([
|
||||
describe('Spacer', function () {
|
||||
describe('model', function () {
|
||||
var model;
|
||||
var sandbox;
|
||||
|
||||
beforeEach(function () {
|
||||
global.stubChannel(EditorApplication);
|
||||
@ -18,10 +19,12 @@ define([
|
||||
});
|
||||
global.stubAvailableStyles(EditorApplication);
|
||||
model = new (SpacerBlock.SpacerBlockModel)();
|
||||
sandbox = sinon.sandbox.create();
|
||||
});
|
||||
|
||||
afterEach(function () {
|
||||
delete EditorApplication.getChannel;
|
||||
sandbox.restore();
|
||||
});
|
||||
|
||||
it('has spacer type', function () {
|
||||
@ -72,6 +75,14 @@ define([
|
||||
expect(model.get('styles.block.backgroundColor')).to.equal('#567890');
|
||||
expect(model.get('styles.block.height')).to.equal('19px');
|
||||
});
|
||||
|
||||
it('updates blockDefaults.spacer when changed', function () {
|
||||
var stub = sandbox.stub(EditorApplication.getConfig(), 'set');
|
||||
model.trigger('change');
|
||||
expect(stub.callCount).to.equal(1);
|
||||
expect(stub.getCall(0).args[0]).to.equal('blockDefaults.spacer');
|
||||
expect(stub.getCall(0).args[1]).to.deep.equal(model.toJSON());
|
||||
});
|
||||
});
|
||||
|
||||
describe('block view', function () {
|
||||
|
Reference in New Issue
Block a user