Free and Open source Web Builder Framework. Next generation tool for building templates without coding
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

44 lines
1.2 KiB

import Trait from '../../../../src/trait_manager/model/Trait';
import Traits from '../../../../src/trait_manager/model/Traits';
import Component from '../../../../src/dom_components/model/Component';
import Editor from '../../../../src/editor';
import EditorModel from '../../../../src/editor/model/Editor';
describe('TraitModels', () => {
var trait: Trait;
var target: Component;
var modelName = 'title';
var em: EditorModel;
beforeEach(() => {
em = new Editor().getModel();
target = new Component({}, { em, config: em.Components.config });
trait = new Trait(
{
name: modelName,
target,
},
em
);
});
afterEach(() => {});
test('Object exists', () => {
expect(trait).toBeTruthy();
});
test('Traits undo property', () => {
em.loadOnStart();
const wrapper = em.Components.getWrapper();
wrapper!.append(target);
const traits = new Traits([], { em });
traits.add(modelName);
traits.setTarget(target);
const trait = traits.models[0];
trait.setTargetValue('TitleValue');
expect(target.getAttributes()[modelName]).toBe('TitleValue');
em.UndoManager.undo();
expect(target.getAttributes()[modelName]).toBeUndefined;
});
});