Browse Source

Update Panels tests

no-jquery
Artur Arseniev 9 years ago
parent
commit
579b21dd0e
  1. 1
      package.json
  2. 1
      src/domain_abstract/ui/InputColor.js
  3. 3
      src/utils/extender.js
  4. 20
      test/helper.js
  5. 4
      test/specs/asset_manager/view/AssetImageView.js
  6. 2
      test/specs/modal/view/ModalView.js
  7. 4
      test/specs/panels/e2e/PanelsE2e.js
  8. 13
      test/specs/panels/index.js
  9. 19
      test/specs/panels/view/ButtonView.js
  10. 17
      test/specs/panels/view/ButtonsView.js
  11. 24
      test/specs/panels/view/PanelView.js
  12. 16
      test/specs/panels/view/PanelsView.js

1
package.json

@ -33,7 +33,6 @@
"documentation": "^5.3.0",
"eslint": "^4.1.1",
"expect": "^1.20.2",
"imports-loader": "^0.7.1",
"istanbul": "^0.4.2",
"jsdom": "^11.2.0",
"mocha": "^3.1.2",

1
src/domain_abstract/ui/InputColor.js

@ -1,4 +1,3 @@
const Backbone = require('backbone');
const Input = require('./Input');
const Spectrum = require('spectrum-colorpicker');
const $ = Backbone.$;

3
src/utils/extender.js

@ -122,8 +122,9 @@ module.exports = ({$, Backbone}) => {
namespaces = namespaces.slice(1);
if (namespaces.length) {
console.log('Found event with namespaces', namespaces, eventName, delegate, this);
//console.log('Found event with namespaces', namespaces, eventName, delegate, this);
const cashNs = this.data('_cashNs') || [];
// cashNs[namespace]
this.data('_cashNs', namespaces); // for each ns need to store '.store' => eventName, delegate, callback
}

20
test/helper.js

@ -1,21 +1,18 @@
import _ from 'underscore';
import expect from 'expect';
import sinon from 'sinon';
import Backbone from 'backbone';
import grapesjs from './../src';
import { JSDOM } from 'jsdom';
const dom = new JSDOM('<!doctype html><html><body></body></html>');
const window = dom.window;
// Fix for the spectrum lib
// Fix for the require of jquery
var Module = require('module');
var originalRequire = Module.prototype.require;
Module.prototype.require = function(name) {
if (name == 'jquery') {
console.log('REQUIRE jquery', Backbone.$);
return Backbone.$;
return originalRequire.call(this, 'cash-dom');
}
return originalRequire.apply(this, arguments);
};
@ -38,20 +35,11 @@ global._ = _;
global.expect = expect;
global.sinon = sinon;
global.grapesjs = grapesjs;
global.Backbone = Backbone;
global.Backbone = require('Backbone');
global.localStorage = localStorage;
global.SVGElement = global.Element;
global.navigator = {
userAgent: 'node.js'
};
// Need this to trigger the cash generation
grapesjs.init({container: 'body',autorender: 0, storageManager: {
autoload: 0,
type:'none'
},});
window.$ = Backbone.$;
global.navigator = {userAgent: 'node.js'};
Object.keys(window).forEach((key) => {
if (!(key in global)) {

4
test/specs/asset_manager/view/AssetImageView.js

@ -50,7 +50,7 @@ module.exports = {
it('Could be selected', function() {
var spy = expect.spyOn(obj, 'updateTarget');
obj.onClick();
obj.$el.trigger('click');
expect(obj.$el.attr('class')).toInclude('highlight');
expect(spy).toHaveBeenCalled();
});
@ -58,7 +58,7 @@ module.exports = {
it('Could be chosen', function() {
sinon.stub(obj, 'updateTarget');
var spy = expect.spyOn(obj, 'updateTarget');
obj.onDblClick();
obj.$el.trigger('dblclick');
expect(spy).toHaveBeenCalled();
//obj.updateTarget.calledOnce.should.equal(true);
});

2
test/specs/modal/view/ModalView.js

@ -3,7 +3,7 @@ const Modal = require('modal_dialog/model/Modal');
module.exports = {
run() {
describe.only('ModalView', () => {
describe('ModalView', () => {
var model;
var view;

4
test/specs/panels/e2e/PanelsE2e.js

@ -10,7 +10,7 @@ module.exports = {
var editorName = 'panel-fixture';
before(() => {
fixtures = $("#fixtures");
fixtures = $('<div id="#fixtures"></div>').appendTo('body');
});
beforeEach(() => {
@ -33,7 +33,7 @@ module.exports = {
//fixture.remove();
});
it.skip('Command is correctly executed on button click', () => {
it('Command is correctly executed on button click', () => {
var commandId = 'command-test';
config.commands = {
defaults: [{

13
test/specs/panels/index.js

@ -96,9 +96,12 @@ describe('Panels', () => {
});
Models.run();
PanelView.run();
PanelsView.run();
ButtonView.run();
ButtonsView.run();
e2e.run();
describe('Views', () => {
PanelView.run();
PanelsView.run();
ButtonView.run();
ButtonsView.run();
e2e.run();
})
});

19
test/specs/panels/view/ButtonView.js

@ -6,36 +6,27 @@ module.exports = {
describe('ButtonView', () => {
var $fixtures;
var $fixture;
var fixtures;
var model;
var view;
var btnClass = 'btn';
before(() => {
$fixtures = $("#fixtures");
$fixture = $('<div class="cssrule-fixture"></div>');
});
beforeEach(() => {
model = new Button();
view = new ButtonView({
model
});
$fixture.empty().appendTo($fixtures);
$fixture.html(view.render().el);
document.body.innerHTML = '<div id="fixtures"></div>';
fixtures = document.body.querySelector('#fixtures');
fixtures.appendChild(view.render().el);
});
afterEach(() => {
view.remove();
});
after(() => {
$fixture.remove();
});
it('Button empty', () => {
expect($fixture.html()).toEqual('<span class="' + btnClass+ '"></span>');
expect(fixtures.innerHTML).toEqual('<span class="' + btnClass+ '"></span>');
});
it('Update class', () => {

17
test/specs/panels/view/ButtonsView.js

@ -5,33 +5,24 @@ module.exports = {
run() {
describe('ButtonsView', () => {
var $fixtures;
var $fixture;
var fixtures;
var model;
var view;
before(() => {
$fixtures = $("#fixtures");
$fixture = $('<div class="cssrules-fixture"></div>');
});
beforeEach(() => {
model = new Buttons([]);
view = new ButtonsView({
collection: model
});
$fixture.empty().appendTo($fixtures);
$fixture.html(view.render().el);
document.body.innerHTML = '<div id="fixtures"></div>';
fixtures = document.body.querySelector('#fixtures');
fixtures.appendChild(view.render().el);
});
afterEach(() => {
view.collection.reset();
});
after(() => {
$fixture.remove();
});
it("Collection is empty", () => {
expect(view.$el.html()).toEqual('');
});

24
test/specs/panels/view/PanelView.js

@ -6,35 +6,26 @@ module.exports = {
describe('PanelView', () => {
var $fixtures;
var $fixture;
var fixtures;
var model;
var view;
before(() => {
$fixtures = $("#fixtures");
$fixture = $('<div class="cssrule-fixture"></div>');
});
beforeEach(() => {
model = new Panel();
view = new PanelView({
model
});
$fixture.empty().appendTo($fixtures);
$fixture.html(view.render().el);
document.body.innerHTML = '<div id="fixtures"></div>';
fixtures = document.body.querySelector('#fixtures');
fixtures.appendChild(view.render().el);
});
afterEach(() => {
view.remove();
});
after(() => {
$fixture.remove();
});
it('Panel empty', () => {
expect($fixture.html()).toEqual('<div class="panel"></div>');
expect(fixtures.innerHTML).toEqual('<div class="panel"></div>');
});
it('Append content', () => {
@ -58,8 +49,9 @@ module.exports = {
view = new PanelView({
model
});
$fixture.empty().appendTo($fixtures);
$fixture.html(view.render().el);
document.body.innerHTML = '<div id="fixtures"></div>';
fixtures = document.body.querySelector('#fixtures');
fixtures.appendChild(view.render().el);
});
afterEach(() => {

16
test/specs/panels/view/PanelsView.js

@ -5,33 +5,25 @@ module.exports = {
run() {
describe('PanelsView', () => {
var $fixtures;
var fixtures;
var $fixture;
var model;
var view;
before(() => {
$fixtures = $("#fixtures");
$fixture = $('<div class="cssrules-fixture"></div>');
});
beforeEach(() => {
model = new Panels([]);
view = new PanelsView({
collection: model
});
$fixture.empty().appendTo($fixtures);
$fixture.html(view.render().el);
document.body.innerHTML = '<div id="fixtures"></div>';
fixtures = document.body.querySelector('#fixtures');
fixtures.appendChild(view.render().el);
});
afterEach(() => {
view.collection.reset();
});
after(() => {
$fixture.remove();
});
it("Collection is empty", () => {
expect(view.$el.html()).toEqual('');
});

Loading…
Cancel
Save