212 lines
6.6 KiB
JavaScript
212 lines
6.6 KiB
JavaScript
import { SidebarComponent } from 'newsletter-editor/components/sidebar';
|
|
|
|
const expect = global.expect;
|
|
const Backbone = global.Backbone;
|
|
|
|
describe('Sidebar', function () {
|
|
describe('content view', function () {
|
|
var view;
|
|
beforeEach(function () {
|
|
view = new SidebarComponent.SidebarWidgetsView({
|
|
collection: new Backbone.Collection([]),
|
|
});
|
|
});
|
|
|
|
it('renders', function () {
|
|
expect(view.render).to.not.throw();
|
|
});
|
|
});
|
|
|
|
describe('layout view', function () {
|
|
var view;
|
|
beforeEach(function () {
|
|
view = new SidebarComponent.SidebarLayoutWidgetsView({
|
|
collection: new Backbone.Collection([]),
|
|
});
|
|
});
|
|
|
|
it('renders', function () {
|
|
expect(view.render).to.not.throw();
|
|
});
|
|
});
|
|
|
|
describe('styles view', function () {
|
|
var view;
|
|
beforeEach(function () {
|
|
view = new SidebarComponent.SidebarStylesView({
|
|
model: new Backbone.SuperModel({}),
|
|
availableStyles: new Backbone.SuperModel({}),
|
|
});
|
|
});
|
|
|
|
it('renders', function () {
|
|
expect(view.render).to.not.throw();
|
|
});
|
|
|
|
describe('once rendered', function () {
|
|
var model;
|
|
var availableStyles;
|
|
var innerView;
|
|
before(function () {
|
|
model = new Backbone.SuperModel({
|
|
text: {
|
|
fontColor: '#000000',
|
|
fontFamily: 'Arial',
|
|
},
|
|
h1: {
|
|
fontColor: '#000001',
|
|
fontFamily: 'Arial',
|
|
},
|
|
h2: {
|
|
fontColor: '#000002',
|
|
fontFamily: 'Arial',
|
|
},
|
|
h3: {
|
|
fontColor: '#000003',
|
|
fontFamily: 'Arial',
|
|
},
|
|
link: {
|
|
fontColor: '#000005',
|
|
textDecoration: 'none',
|
|
},
|
|
wrapper: {
|
|
backgroundColor: '#090909',
|
|
},
|
|
body: {
|
|
backgroundColor: '#020202',
|
|
},
|
|
});
|
|
availableStyles = new Backbone.SuperModel({
|
|
fonts: {
|
|
standard: [
|
|
'Arial',
|
|
'Times New Roman',
|
|
'Tahoma',
|
|
'Comic Sans',
|
|
'Lucida',
|
|
],
|
|
custom: [
|
|
'Arvo',
|
|
'Lato',
|
|
'Lora',
|
|
'Merriweather',
|
|
'Merriweather Sans',
|
|
'Noticia Text',
|
|
'Open Sans',
|
|
'Playfair Display',
|
|
'Roboto',
|
|
'Source Sans Pro',
|
|
],
|
|
},
|
|
textSizes: ['9px', '10px'],
|
|
headingSizes: ['10px', '12px', '14px', '16px', '18px'],
|
|
});
|
|
innerView = new SidebarComponent.SidebarStylesView({
|
|
model: model,
|
|
availableStyles: availableStyles,
|
|
});
|
|
|
|
innerView.render();
|
|
});
|
|
|
|
it('changes model if text font color field changes', function () {
|
|
innerView
|
|
.$('#mailpoet_text_font_color')
|
|
.val('#123456')
|
|
.trigger('change');
|
|
expect(model.get('text.fontColor')).to.equal('#123456');
|
|
});
|
|
|
|
it('changes model if h1 font color field changes', function () {
|
|
innerView.$('#mailpoet_h1_font_color').val('#123457').trigger('change');
|
|
expect(model.get('h1.fontColor')).to.equal('#123457');
|
|
});
|
|
|
|
it('changes model if h2 font color field changes', function () {
|
|
innerView.$('#mailpoet_h2_font_color').val('#123458').trigger('change');
|
|
expect(model.get('h2.fontColor')).to.equal('#123458');
|
|
});
|
|
|
|
it('changes model if h3 font color field changes', function () {
|
|
innerView.$('#mailpoet_h3_font_color').val('#123426').trigger('change');
|
|
expect(model.get('h3.fontColor')).to.equal('#123426');
|
|
});
|
|
|
|
it('changes model if link font color field changes', function () {
|
|
innerView.$('#mailpoet_a_font_color').val('#323232').trigger('change');
|
|
expect(model.get('link.fontColor')).to.equal('#323232');
|
|
});
|
|
|
|
it('changes model if newsletter background color field changes', function () {
|
|
innerView
|
|
.$('#mailpoet_newsletter_background_color')
|
|
.val('#636237')
|
|
.trigger('change');
|
|
expect(model.get('wrapper.backgroundColor')).to.equal('#636237');
|
|
});
|
|
|
|
it('changes model if background color field changes', function () {
|
|
innerView
|
|
.$('#mailpoet_background_color')
|
|
.val('#878587')
|
|
.trigger('change');
|
|
expect(model.get('body.backgroundColor')).to.equal('#878587');
|
|
});
|
|
|
|
it('changes model if text font family field changes', function () {
|
|
innerView
|
|
.$('#mailpoet_text_font_family')
|
|
.val('Times New Roman')
|
|
.trigger('change');
|
|
expect(model.get('text.fontFamily')).to.equal('Times New Roman');
|
|
});
|
|
|
|
it('changes model if h1 font family field changes', function () {
|
|
innerView
|
|
.$('#mailpoet_h1_font_family')
|
|
.val('Comic Sans')
|
|
.trigger('change');
|
|
expect(model.get('h1.fontFamily')).to.equal('Comic Sans');
|
|
});
|
|
|
|
it('changes model if h2 font family field changes', function () {
|
|
innerView.$('#mailpoet_h2_font_family').val('Tahoma').trigger('change');
|
|
expect(model.get('h2.fontFamily')).to.equal('Tahoma');
|
|
});
|
|
|
|
it('changes model if h3 font family field changes', function () {
|
|
innerView.$('#mailpoet_h3_font_family').val('Lucida').trigger('change');
|
|
expect(model.get('h3.fontFamily')).to.equal('Lucida');
|
|
});
|
|
|
|
it('changes model if text font size field changes', function () {
|
|
innerView.$('#mailpoet_text_font_size').val('9px').trigger('change');
|
|
expect(model.get('text.fontSize')).to.equal('9px');
|
|
});
|
|
|
|
it('changes model if h1 font size field changes', function () {
|
|
innerView.$('#mailpoet_h1_font_size').val('12px').trigger('change');
|
|
expect(model.get('h1.fontSize')).to.equal('12px');
|
|
});
|
|
|
|
it('changes model if h2 font size field changes', function () {
|
|
innerView.$('#mailpoet_h2_font_size').val('14px').trigger('change');
|
|
expect(model.get('h2.fontSize')).to.equal('14px');
|
|
});
|
|
|
|
it('changes model if h3 font size field changes', function () {
|
|
innerView.$('#mailpoet_h3_font_size').val('16px').trigger('change');
|
|
expect(model.get('h3.fontSize')).to.equal('16px');
|
|
});
|
|
|
|
it('changes model if link underline field changes', function () {
|
|
innerView
|
|
.$('#mailpoet_a_font_underline')
|
|
.prop('checked', true)
|
|
.trigger('change');
|
|
expect(model.get('link.textDecoration')).to.equal('underline');
|
|
});
|
|
});
|
|
});
|
|
});
|