var modulePath = './../../../test/specs/block_manager'; define([ 'BlockManager', modulePath + '/view/BlocksView', ], function(BlockManager, BlocksView) { describe('BlockManager', function() { describe('Main', function() { var obj; var idTest; var optsTest; beforeEach(function () { idTest = 'h1-block'; optsTest = { label: 'Heading', content: '

Test

' }; 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(); }); });