Browse Source

Fix tests

pull/5895/head
Artur Arseniev 2 years ago
parent
commit
1e839dd58f
  1. 11
      src/dom_components/model/ComponentWrapper.ts
  2. 2
      test/common.ts
  3. 2
      test/specs/dom_components/index.ts
  4. 22
      test/specs/editor/index.ts
  5. 7
      test/specs/pages/index.ts

11
src/dom_components/model/ComponentWrapper.ts

@ -37,10 +37,13 @@ export default class ComponentWrapper extends Component {
const CmpHead = cmp?.getType(typeHead)?.model;
const CmpDef = cmp?.getType('default').model;
if (CmpHead) {
this.set({
head: new CmpHead({}, opts),
docEl: new CmpDef({ tagName: 'html' }, opts),
});
this.set(
{
head: new CmpHead({}, opts),
docEl: new CmpDef({ tagName: 'html' }, opts),
},
{ silent: true }
);
}
}

2
test/common.ts

@ -0,0 +1,2 @@
// DocEl + Head + Wrapper
export const DEFAULT_CMPS = 3;

2
test/specs/dom_components/index.ts

@ -263,7 +263,7 @@ describe('DOM Components', () => {
expect(rule.toCSS()).toEqual(css);
done();
}, 10);
}, 20);
});
describe('Custom components with styles', () => {

22
test/specs/editor/index.ts

@ -1,7 +1,7 @@
import Editor from '../../../src/editor';
import { DEFAULT_CMPS } from '../../common';
const { keys } = Object;
const initComps = 1;
describe('Editor', () => {
let editor: Editor;
@ -24,7 +24,7 @@ describe('Editor', () => {
const all = editor.Components.allById();
const allKeys = keys(all);
// By default 1 wrapper components is created
expect(allKeys.length).toBe(initComps);
expect(allKeys.length).toBe(DEFAULT_CMPS);
expect(all[allKeys[0]].get('type')).toBe('wrapper');
});
@ -50,7 +50,7 @@ describe('Editor', () => {
const all = editor.Components.allById();
const wrapper = editor.getWrapper()!;
wrapper.append('<div>Component</div>'); // Div component + textnode
expect(keys(all).length).toBe(2 + initComps);
expect(keys(all).length).toBe(2 + DEFAULT_CMPS);
});
test('Components are correctly tracked on add and remove', () => {
@ -60,16 +60,16 @@ describe('Editor', () => {
<div>Component 1</div>
<div></div>
`);
expect(keys(all).length).toBe(3 + initComps);
expect(keys(all).length).toBe(3 + DEFAULT_CMPS);
const secComp = added[1];
secComp.append(`
<div>Component 2</div>
<div>Component 3</div>
`);
expect(keys(all).length).toBe(7 + initComps);
expect(keys(all).length).toBe(7 + DEFAULT_CMPS);
wrapper.empty();
expect(wrapper.components().length).toBe(0);
expect(keys(all).length).toBe(initComps);
expect(keys(all).length).toBe(DEFAULT_CMPS);
});
test('Components are correctly tracked with UndoManager', () => {
@ -82,9 +82,9 @@ describe('Editor', () => {
expect(umStack.length).toBe(1);
wrapper.empty();
expect(umStack.length).toBe(2);
expect(keys(all).length).toBe(initComps);
expect(keys(all).length).toBe(DEFAULT_CMPS);
um.undo(false);
expect(keys(all).length).toBe(2 + initComps);
expect(keys(all).length).toBe(2 + DEFAULT_CMPS);
});
test('Components are correctly tracked with UndoManager and mutiple operations', () => {
@ -98,13 +98,13 @@ describe('Editor', () => {
<div>Component 2</div>
</div>`);
expect(umStack.length).toBe(1); // UM counts first children
expect(keys(all).length).toBe(5 + initComps);
expect(keys(all).length).toBe(5 + DEFAULT_CMPS);
wrapper.components().at(0).components().at(0).remove(); // Remove 1 component
expect(umStack.length).toBe(2);
expect(keys(all).length).toBe(3 + initComps);
expect(keys(all).length).toBe(3 + DEFAULT_CMPS);
wrapper.empty();
expect(umStack.length).toBe(3);
expect(keys(all).length).toBe(initComps);
expect(keys(all).length).toBe(DEFAULT_CMPS);
});
});

7
test/specs/pages/index.ts

@ -2,6 +2,7 @@ import { ComponentDefinition } from '../../../src/dom_components/model/types';
import Editor from '../../../src/editor';
import EditorModel from '../../../src/editor/model/Editor';
import { PageProperties } from '../../../src/pages/model/Page';
import { DEFAULT_CMPS } from '../../common';
describe('Pages', () => {
let editor: Editor;
@ -50,7 +51,7 @@ describe('Pages', () => {
const frameCmp = frame.getComponent();
expect(frameCmp.components().length).toBe(0);
expect(frame.getStyles().length).toBe(0);
expect(initCmpLen).toBe(1);
expect(initCmpLen).toBe(DEFAULT_CMPS);
});
test('Adding new page with selection', () => {
@ -143,8 +144,8 @@ describe('Pages', () => {
.filter(i => i.is('wrapper'));
expect(wrappers.length).toBe(initPages.length);
// Components container should contain the right amount of components
// Number of wrappers (eg. 3) where each one containes 1 component and 1 textnode (3 * 3)
expect(initCmpLen).toBe(initPages.length * 3);
// Number of wrappers (eg. 3) where each one containes 1 component and 1 textnode (5 * 3)
expect(initCmpLen).toBe((2 + DEFAULT_CMPS) * 3);
// Each page contains 1 rule per component
expect(em.Css.getAll().length).toBe(initPages.length);
});

Loading…
Cancel
Save