import Backbone from 'backbone'; const $ = Backbone.$; describe('E2E tests', () => { var fixtures; var fixture; var gjs; var cssc; var clsm; var domc; var rulesSet; var rulesSet2; beforeAll(() => { fixtures = $('#fixtures'); fixture = $('
'); }); beforeEach(done => { //this.timeout(5000); gjs = grapesjs.init({ stylePrefix: '', storageManager: { autoload: 0, type: 'none' }, assetManager: { storageType: 'none' }, container: 'csscomposer-fixture' }); cssc = gjs.CssComposer; clsm = gjs.SelectorManager; domc = gjs.DomComponents; fixture.empty().appendTo(fixtures); gjs.render(); rulesSet = [ { selectors: [{ name: 'test1' }, { name: 'test2' }] }, { selectors: [{ name: 'test2' }, { name: 'test3' }] }, { selectors: [{ name: 'test3' }] } ]; rulesSet2 = [ { selectors: [{ name: 'test1' }, { name: 'test2' }], state: ':active' }, { selectors: [{ name: 'test2' }, { name: 'test3' }] }, { selectors: [{ name: 'test3' }], mediaText: '(max-width: 900px)' } ]; done(); }); afterEach(() => { gjs = null; cssc = null; clsm = null; }); afterAll(() => { fixture.remove(); }); test('Rules are correctly imported from default property', () => { var gj = grapesjs.init({ stylePrefix: '', storageManager: { autoload: 0, type: 'none' }, cssComposer: { rules: rulesSet }, container: 'csscomposer-fixture' }); var cssc = gj.editor.get('CssComposer'); expect(cssc.getAll().length).toEqual(rulesSet.length); var cls = gj.editor.get('SelectorManager').getAll(); expect(cls.length).toEqual(3); }); test('New rule adds correctly the class inside selector manager', () => { var rules = cssc.getAll(); rules.add({ selectors: [{ name: 'test1', private: true }] }); var rule = clsm.getAll().at(0); expect(rule.get('name')).toEqual('test1'); expect(rule.get('private')).toEqual(true); }); test('New rules are correctly imported inside selector manager', () => { var rules = cssc.getAll(); rulesSet.forEach(item => { rules.add(item); }); var cls = clsm.getAll(); expect(cls.length).toEqual(3); expect(cls.at(0).get('name')).toEqual('test1'); expect(cls.at(1).get('name')).toEqual('test2'); expect(cls.at(2).get('name')).toEqual('test3'); }); test('Add rules from the new component added as a string with style tag', () => { var comps = domc.getComponents(); var rules = cssc.getAll(); comps.add( '