From 0997eee636de385a8a21d9a6f136e7f7b0c19d03 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Thu, 17 Aug 2023 14:21:58 +0400 Subject: [PATCH] Up ComponentView test --- .../view/{ComponentV.js => ComponentView.ts} | 49 +++++++++++-------- 1 file changed, 28 insertions(+), 21 deletions(-) rename test/specs/dom_components/view/{ComponentV.js => ComponentView.ts} (76%) diff --git a/test/specs/dom_components/view/ComponentV.js b/test/specs/dom_components/view/ComponentView.ts similarity index 76% rename from test/specs/dom_components/view/ComponentV.js rename to test/specs/dom_components/view/ComponentView.ts index a2690273d..5891c6a7d 100644 --- a/test/specs/dom_components/view/ComponentV.js +++ b/test/specs/dom_components/view/ComponentView.ts @@ -1,31 +1,35 @@ -import ComponentView from 'dom_components/view/ComponentView'; -import Component from 'dom_components/model/Component'; -import DomComponents from 'dom_components'; -import Editor from 'editor/model/Editor'; +import Component from '../../../../src/dom_components/model/Component'; +import ComponentView from '../../../../src/dom_components/view/ComponentView'; +import Editor from '../../../../src/editor/model/Editor'; describe('ComponentView', () => { - let fixtures; - let model; - let view; - let dcomp; - let compOpts; - let em; - let el; + let fixtures: Element; + let model: Component; + let view: ComponentView; + let dcomp: Editor['Components']; + let compOpts: any; + let em: Editor; + let el: HTMLElement; + let compViewOpst: any; beforeEach(() => { em = new Editor({}); - dcomp = new DomComponents(em); + dcomp = em.Components; compOpts = { em, componentTypes: dcomp.componentTypes, }; model = new Component({}, compOpts); + compViewOpst = { + config: {}, + }; view = new ComponentView({ + ...compViewOpst, model, }); - em.get('StyleManager').render(); // Enable to listen em.setState + em.Styles.render(); // Enable to listen em.setState document.body.innerHTML = '
'; - fixtures = document.body.querySelector('#fixtures'); + fixtures = document.body.querySelector('#fixtures')!; el = view.render().el; fixtures.appendChild(el); }); @@ -43,7 +47,7 @@ describe('ComponentView', () => { test('Clean form helper state', () => { em.setSelected(model); em.setState('test'); - em.setState(); + em.setState(''); expect(fixtures.innerHTML).toEqual( `
` ); @@ -85,25 +89,25 @@ describe('ComponentView', () => { }); test('Add class', () => { - model.get('classes').add({ name: 'test' }); + model.classes.add({ name: 'test' }); expect(view.el.getAttribute('class')).toEqual('test'); }); test('Add classes', () => { - model.get('classes').add([{ name: 'test' }, { name: 'test2' }]); + model.classes.add([{ name: 'test' }, { name: 'test2' }]); expect(view.el.getAttribute('class')).toEqual('test test2'); }); test('Update on remove of some class', () => { - var cls1 = model.get('classes').add({ name: 'test' }); - var cls12 = model.get('classes').add({ name: 'test2' }); - model.get('classes').remove(cls1); + var cls1 = model.classes.add({ name: 'test' }); + var cls12 = model.classes.add({ name: 'test2' }); + model.classes.remove(cls1); expect(view.el.getAttribute('class')).toEqual('test2'); }); test('Init with different tag', () => { model = new Component({ tagName: 'span' }); - view = new ComponentView({ model }); + view = new ComponentView({ ...compViewOpst, model }); fixtures.innerHTML = ''; fixtures.appendChild(view.render().el); expect(view.render().el.tagName).toEqual('SPAN'); @@ -112,12 +116,15 @@ describe('ComponentView', () => { test('Init with nested components', () => { model = new Component( { + // @ts-ignore components: [{ tagName: 'span' }, { attributes: { title: 'test' } }], }, compOpts ); view = new ComponentView({ + ...compViewOpst, model, + // @ts-ignore componentTypes: dcomp.componentTypes, }); fixtures.innerHTML = '';