Browse Source

Add block manager in tests

pull/202/head
Artur Arseniev 9 years ago
parent
commit
feaaf34b0e
  1. 4
      test/main.js
  2. 4
      test/specs/asset_manager/index.js
  3. 2
      test/specs/asset_manager/model/Asset.js
  4. 2
      test/specs/asset_manager/model/AssetImage.js
  5. 2
      test/specs/asset_manager/model/Assets.js
  6. 4
      test/specs/asset_manager/view/AssetImageView.js
  7. 4
      test/specs/asset_manager/view/AssetView.js
  8. 4
      test/specs/asset_manager/view/AssetsView.js
  9. 2
      test/specs/asset_manager/view/FileUploader.js
  10. 70
      test/specs/block_manager/index.js
  11. 74
      test/specs/block_manager/main.js
  12. 153
      test/specs/block_manager/view/BlocksView.js
  13. 38
      test/specs/test_utils.js

4
test/main.js

@ -10,6 +10,8 @@ describe('Main', () => {
}); });
}); });
require('./specs/asset_manager/main.js'); const path = './specs/';
require(`${path}asset_manager`);
require(`${path}block_manager`);
}); });

4
test/specs/asset_manager/main.js → test/specs/asset_manager/index.js

@ -12,10 +12,10 @@ describe('Asset Manager', () => {
var storage; var storage;
var storageId = 'testStorage'; var storageId = 'testStorage';
var storageMock = { var storageMock = {
store: function(data){ store(data) {
storage = data; storage = data;
}, },
load: function(keys){ load(keys) {
return storage; return storage;
}, },
}; };

2
test/specs/asset_manager/model/Asset.js

@ -1,7 +1,7 @@
var Asset = require('asset_manager/model/Asset'); var Asset = require('asset_manager/model/Asset');
module.exports = { module.exports = {
run: function(){ run() {
describe('Asset', () => { describe('Asset', () => {
it('Object exists', () => { it('Object exists', () => {

2
test/specs/asset_manager/model/AssetImage.js

@ -1,7 +1,7 @@
var AssetImage = require('asset_manager/model/AssetImage'); var AssetImage = require('asset_manager/model/AssetImage');
module.exports = { module.exports = {
run: function() { run() {
describe('AssetImage', () => { describe('AssetImage', () => {
it('Object exists', () => { it('Object exists', () => {

2
test/specs/asset_manager/model/Assets.js

@ -1,7 +1,7 @@
var Assets = require('asset_manager/model/Assets'); var Assets = require('asset_manager/model/Assets');
module.exports = { module.exports = {
run: function() { run() {
describe('Assets', () => { describe('Assets', () => {
var obj; var obj;

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

@ -3,7 +3,7 @@ var AssetImage = require('asset_manager/model/AssetImage');
var Assets = require('asset_manager/model/Assets'); var Assets = require('asset_manager/model/Assets');
module.exports = { module.exports = {
run: function() { run() {
describe('AssetImageView', () => { describe('AssetImageView', () => {
@ -17,7 +17,7 @@ module.exports = {
var model = coll.add({ type:'image', src: '/test' }); var model = coll.add({ type:'image', src: '/test' });
this.view = new AssetImageView({ this.view = new AssetImageView({
config : {}, config : {},
model: model model
}); });
this.$fixture.empty().appendTo(this.$fixtures); this.$fixture.empty().appendTo(this.$fixtures);
this.$fixture.html(this.view.render().el); this.$fixture.html(this.view.render().el);

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

@ -3,7 +3,7 @@ var Asset = require('asset_manager/model/Asset');
var Assets = require('asset_manager/model/Assets'); var Assets = require('asset_manager/model/Assets');
module.exports = { module.exports = {
run: function() { run() {
describe('AssetView', () => { describe('AssetView', () => {
@ -17,7 +17,7 @@ module.exports = {
var model = coll.add({src: 'test'}); var model = coll.add({src: 'test'});
this.view = new AssetView({ this.view = new AssetView({
config : {}, config : {},
model: model model
}); });
this.$fixture.empty().appendTo(this.$fixtures); this.$fixture.empty().appendTo(this.$fixtures);
this.$fixture.html(this.view.render().el); this.$fixture.html(this.view.render().el);

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

@ -2,7 +2,7 @@ var AssetsView = require('asset_manager/view/AssetsView');
var Assets = require('asset_manager/model/Assets'); var Assets = require('asset_manager/model/Assets');
module.exports = { module.exports = {
run: function() { run() {
describe('AssetsView', () => { describe('AssetsView', () => {
@ -83,7 +83,7 @@ module.exports = {
it("Add image asset from input string", () => { it("Add image asset from input string", () => {
obj.getInputUrl().value = "test"; obj.getInputUrl().value = "test";
obj.addFromStr({ obj.addFromStr({
preventDefault: function(){} preventDefault() {}
}); });
var asset = obj.collection.at(0); var asset = obj.collection.at(0);
expect(asset.get('src')).toEqual('test'); expect(asset.get('src')).toEqual('test');

2
test/specs/asset_manager/view/FileUploader.js

@ -1,7 +1,7 @@
var FileUploader = require('asset_manager/view/FileUploader'); var FileUploader = require('asset_manager/view/FileUploader');
module.exports = { module.exports = {
run: function() { run() {
describe('File Uploader', () => { describe('File Uploader', () => {

70
test/specs/block_manager/index.js

@ -0,0 +1,70 @@
var BlockManager = require('block_manager');
var BlocksView = require('./view/BlocksView');
describe('BlockManager', () => {
describe('Main', () => {
var obj;
var idTest;
var optsTest;
beforeEach(() => {
idTest = 'h1-block';
optsTest = {
label: 'Heading',
content: '<h1>Test</h1>'
};
obj = new BlockManager().init();
});
afterEach(() => {
obj = null;
});
it('Object exists', () => {
expect(obj).toExist();
});
it('No blocks inside', () => {
expect(obj.getAll().length).toEqual(0);
});
it('Add new block', () => {
var model = obj.add(idTest, optsTest);
expect(obj.getAll().length).toEqual(1);
});
it('Added block has correct data', () => {
var model = obj.add(idTest, optsTest);
expect(model.get('label')).toEqual(optsTest.label);
expect(model.get('content')).toEqual(optsTest.content);
});
it('Add block with attributes', () => {
optsTest.attributes = {'class':'test'};
var model = obj.add(idTest, optsTest);
expect(model.get('attributes').class).toEqual('test');
});
it('The id of the block is unique', () => {
var model = obj.add(idTest, optsTest);
var model2 = obj.add(idTest, {other: 'test'});
expect(model).toEqual(model2);
});
it('Get block by id', () => {
var model = obj.add(idTest, optsTest);
var model2 = obj.get(idTest);
expect(model).toEqual(model2);
});
it('Render blocks', () => {
expect(obj.render()).toExist();
});
});
BlocksView.run();
});

74
test/specs/block_manager/main.js

@ -1,74 +0,0 @@
define(function(require, exports, module){
'use strict';
var BlockManager = require('BlockManager');
var BlocksView = require('undefined');
describe('BlockManager', function() {
describe('Main', function() {
var obj;
var idTest;
var optsTest;
beforeEach(function () {
idTest = 'h1-block';
optsTest = {
label: 'Heading',
content: '<h1>Test</h1>'
};
obj = new BlockManager().init();
});
afterEach(function () {
delete obj;
});
it('Object exists', function() {
obj.should.be.exist;
});
it('No blocks inside', function() {
var coll = obj.getAll();
coll.length.should.equal(0);
});
it('Add new block', function() {
var model = obj.add(idTest, optsTest);
obj.getAll().length.should.equal(1);
});
it('Added block has correct data', function() {
var model = obj.add(idTest, optsTest);
model.get('label').should.equal(optsTest.label);
model.get('content').should.equal(optsTest.content);
});
it('Add block with attributes', function() {
optsTest.attributes = {'class':'test'};
var model = obj.add(idTest, optsTest);
model.get('attributes').class.should.equal('test');
});
it('The id of the block is unique', function() {
var model = obj.add(idTest, optsTest);
var model2 = obj.add(idTest, {other: 'test'});
model.should.deep.equal(model2);
});
it('Get block by id', function() {
var model = obj.add(idTest, optsTest);
var model2 = obj.get(idTest);
model.should.deep.equal(model2);
});
it('Render blocks', function() {
obj.render().should.be.ok;
});
});
BlocksView.run();
});
});

153
test/specs/block_manager/view/BlocksView.js

@ -1,91 +1,88 @@
define(function(require, exports, module){ var Backbone = require('backbone');
'use strict'; var BlocksView = require('block_manager/view/BlocksView');
var BlocksView = require('undefined'); var Blocks = require('block_manager/model/Blocks');
var Blocks = require('BlockManager/model/Blocks');
module.exports = {
module.exports = { run() {
run : function(){ describe('BlocksView', () => {
describe('BlocksView', function() {
var $fixtures;
var $fixtures; var $fixture;
var $fixture; var model;
var model; var view;
var view; var editorModel;
var editorModel; var ppfx;
var ppfx;
before(() => {
before(function () { $fixtures = $('#fixtures');
$fixtures = $("#fixtures"); $fixture = $('<div class="devices-fixture"></div>');
$fixture = $('<div class="devices-fixture"></div>'); });
});
beforeEach(function () { beforeEach(() => {
model = new Blocks([]); model = new Blocks([]);
view = new BlocksView({ collection: model }); view = new BlocksView({ collection: model });
$fixture.empty().appendTo($fixtures); $fixture.empty().appendTo($fixtures);
$fixture.html(view.render().el); $fixture.html(view.render().el);
}); });
afterEach(function () { afterEach(() => {
view.collection.reset(); view.collection.reset();
}); });
after(function () { after(() => {
$fixture.remove(); $fixture.remove();
}); });
it("The container is not empty", function (){ it("The container is not empty", () => {
view.el.outerHTML.should.be.not.empty; expect(view.el.outerHTML).toExist();
}); });
it("No children inside", function (){ it("No children inside", () => {
view.el.children.length.should.equal(0); expect(view.el.children.length).toEqual(0);
}); });
it("Render children on add", function (){ it("Render children on add", () => {
model.add({}); model.add({});
view.el.children.length.should.equal(1); expect(view.el.children.length).toEqual(1);
model.add([{},{}]); model.add([{},{}]);
view.el.children.length.should.equal(3); expect(view.el.children.length).toEqual(3);
}); });
it("Destroy children on remove", () => {
model.add([{},{}]);
expect(view.el.children.length).toEqual(2);
model.at(0).destroy();
expect(view.el.children.length).toEqual(1);
});
it("Destroy children on remove", function (){ describe('With configs', () => {
model.add([{},{}]);
view.el.children.length.should.equal(2); beforeEach(() => {
model.at(0).destroy(); ppfx = 'pfx-t-';
view.el.children.length.should.equal(1); editorModel = new Backbone.Model();
model = new Blocks([
{name:'test1'},
{name:'test2'}
]);
view = new BlocksView({
collection: model,
},{
pStylePrefix: ppfx
}); });
$fixture.empty().appendTo($fixtures);
$fixture.html(view.render().el);
});
describe('With configs', function() { it("Render children", () => {
expect(view.el.children.length).toEqual(2);
beforeEach(function () { });
ppfx = 'pfx-t-';
editorModel = new Backbone.Model();
model = new Blocks([
{name:'test1'},
{name:'test2'}
]);
view = new BlocksView({
collection: model,
},{
pStylePrefix: ppfx
});
$fixture.empty().appendTo($fixtures);
$fixture.html(view.render().el);
});
it("Render children", function (){
view.el.children.length.should.equal(2);
});
it("Render container", function (){
view.el.getAttribute('class').should.equal(ppfx + 'blocks-c');
});
}); it("Render container", () => {
expect(view.el.getAttribute('class')).toEqual(ppfx + 'blocks-c');
});
}); });
}
};
}); });
}
};

38
test/specs/test_utils.js

@ -1,21 +1,17 @@
define(function () { define(() => ({
return { storageMock: function() {
var db = {};
storageMock: function() { return {
var db = {}; id: 'testStorage',
return { store: function(data){
id: 'testStorage', db = data;
store: function(data){ },
db = data; load: function(keys){
}, return db;
load: function(keys){ },
return db; getDb: function(){
}, return db;
getDb: function(){ },
return db; };
}, }
}; }));
},
};
});

Loading…
Cancel
Save