mirror of https://github.com/artf/grapesjs.git
nocodeframeworkdrag-and-dropsite-buildersite-generatortemplate-builderui-builderweb-builderweb-builder-frameworkwebsite-builderno-codepage-builder
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.
70 lines
1.8 KiB
70 lines
1.8 KiB
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;
|
|
});
|
|
|
|
test('Object exists', () => {
|
|
expect(Trait).toBeTruthy();
|
|
});
|
|
|
|
test('Target has no attributes on init', () => {
|
|
expect(target.get('attributes')).toEqual({});
|
|
});
|
|
|
|
test('On update of the value updates the target attributes', () => {
|
|
model.set('value', 'test');
|
|
var eq = {};
|
|
eq[modelName] = 'test';
|
|
expect(target.get('attributes')).toEqual(eq);
|
|
});
|
|
|
|
test('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);
|
|
});
|
|
});
|
|
}
|
|
};
|
|
|