UNPKG

grapesjs_codeapps

Version:

Free and Open Source Web Builder Framework/SC Modification

72 lines (61 loc) 2.11 kB
var AssetImageView = require('asset_manager/view/AssetImageView'); var AssetImage = require('asset_manager/model/AssetImage'); var Assets = require('asset_manager/model/Assets'); module.exports = { run() { let obj; describe('AssetImageView', () => { beforeEach(() => { var coll = new Assets(); var model = coll.add({ type: 'image', src: '/test' }); obj = new AssetImageView({ collection: new Assets(), config: {}, model }); document.body.innerHTML = '<div id="fixtures"></div>'; document.body.querySelector('#fixtures').appendChild(obj.render().el); }); afterEach(() => { obj = null; document.body.innerHTML = ''; }); test('Object exists', () => { expect(AssetImageView).toBeTruthy(); }); describe('Asset should be rendered correctly', () => { test('Has preview box', () => { var $asset = obj.$el; expect($asset.find('.preview').length).toEqual(1); }); test('Has meta box', () => { var $asset = obj.$el; expect($asset.find('.meta').length).toEqual(1); }); test('Has close button', () => { var $asset = obj.$el; expect($asset.find('[data-toggle=asset-remove]').length).toEqual(1); }); }); test('Could be selected', () => { var spy = jest.spyOn(obj, 'updateTarget'); obj.$el.trigger('click'); expect(obj.$el.attr('class')).toContain('highlight'); expect(spy).toHaveBeenCalled(); }); test('Could be chosen', () => { sinon.stub(obj, 'updateTarget'); var spy = jest.spyOn(obj, 'updateTarget'); obj.$el.trigger('dblclick'); expect(spy).toHaveBeenCalled(); //obj.updateTarget.calledOnce.should.equal(true); }); test('Could be removed', () => { var spy = sinon.spy(); obj.model.on('remove', spy); obj.onRemove({ stopImmediatePropagation() {} }); expect(spy.called).toEqual(true); }); }); } };