UNPKG

grapesjs

Version:

Free and Open Source Web Builder Framework

74 lines (62 loc) 1.84 kB
const Trait = require('trait_manager/model/Trait'); const TraitView = require('trait_manager/view/TraitView'); const Component = require('dom_components/model/Component'); module.exports = { run() { describe('TraitView', () => { var obj; var model; var modelName = 'title'; var target; beforeEach(() => { target = new Component(); model = new Trait({ name: modelName, target, }); obj = new TraitView({ model, }); }); afterEach(() => { obj = null; model = null; target = null; }); it('Object exists', () => { expect(Trait).toExist(); }); it('Target has no attributes on init', () => { expect(target.get('attributes')).toEqual({}); }); it('On update of the value updates the target attributes', () => { model.set('value', 'test'); var eq = {}; eq[modelName] = 'test'; expect(target.get('attributes')).toEqual(eq); }); it('Updates on different models do not alter other targets', () => { var target1 = new Component(); var target2 = new Component(); var model1 = new Trait({ name: modelName, target: target1, }); var model2 = new Trait({ name: modelName, target: target2, }); var obj1 = new TraitView({model: model1}); var obj2 = new TraitView({model: model2}); model1.set('value', 'test1'); model2.set('value', 'test2'); var eq1 = {}; eq1[modelName] = 'test1'; var eq2 = {}; eq2[modelName] = 'test2'; expect(target1.get('attributes')).toEqual(eq1); expect(target2.get('attributes')).toEqual(eq2); }); }); } }