Browse Source

Up pages tests

pull/5463/head
Artur Arseniev 3 years ago
parent
commit
4f3af7415d
  1. 2
      src/pages/index.ts
  2. 79
      test/specs/pages/index.ts

2
src/pages/index.ts

@ -182,7 +182,7 @@ export default class PageManager extends ItemManagerModule<PageManagerConfig, Pa
return page; return page;
}; };
!opts.silent && em.trigger(evPageAddBefore, props, add, opts); !opts.silent && em.trigger(evPageAddBefore, props, add, opts);
return !opts.abort && add(); return !opts.abort ? add() : undefined;
} }
/** /**

79
test/specs/pages/index.js → test/specs/pages/index.ts

@ -1,31 +1,27 @@
import Editor from 'editor'; import { ComponentDefinition } from '../../../src/dom_components/model/types';
import Editor from '../../../src/editor';
import EditorModel from '../../../src/editor/model/Editor';
describe('Pages', () => { describe('Pages', () => {
let editor; let editor: Editor;
let em; let em: EditorModel;
let domc; let domc: Editor['Components'];
let initCmpLen; let initCmpLen = 0;
let pm; let pm: Editor['Pages'];
beforeAll(() => { beforeAll(() => {
editor = new Editor({ pageManager: true }); editor = new Editor({ pageManager: {} });
em = editor.getModel(); em = editor.getModel();
domc = em.get('DomComponents'); domc = em.Components;
pm = em.get('PageManager'); pm = em.Pages;
pm.onLoad(); pm.onLoad();
initCmpLen = Object.keys(domc.allById()).length; initCmpLen = Object.keys(domc.allById()).length;
}); });
afterAll(() => { afterAll(() => {
editor.destroy(); editor.destroy();
pm = 0;
em = 0;
domc = 0;
}); });
beforeEach(() => {});
afterEach(() => {});
test('Pages module exists', () => { test('Pages module exists', () => {
expect(pm).toBeTruthy(); expect(pm).toBeTruthy();
}); });
@ -58,7 +54,7 @@ describe('Pages', () => {
test('Adding new page with selection', () => { test('Adding new page with selection', () => {
const name = 'Test page'; const name = 'Test page';
const page = pm.add({ name }, { select: 1 }); const page = pm.add({ name }, { select: true })!;
expect(page.id).toBeTruthy(); expect(page.id).toBeTruthy();
expect(page.get('name')).toBe(name); expect(page.get('name')).toBe(name);
expect(pm.getSelected()).toBe(page); expect(pm.getSelected()).toBe(page);
@ -69,8 +65,15 @@ describe('Pages', () => {
}); });
describe('Init with pages', () => { describe('Init with pages', () => {
let idPage1, idComp1, idComp2, comp1, comp2, initPages, allbyId; let idPage1 = 'page-1';
const createCompDef = id => ({ let idComp1 = 'comp1';
let idComp2 = 'comp2';
let comp1: ComponentDefinition;
let comp2: ComponentDefinition;
let initPages;
let allbyId: ReturnType<Editor['Components']['allById']>;
const createCompDef = (id: string): ComponentDefinition => ({
attributes: { attributes: {
id, id,
class: id, class: id,
@ -78,10 +81,8 @@ describe('Pages', () => {
}, },
components: `Component ${id}`, components: `Component ${id}`,
}); });
beforeAll(() => { beforeAll(() => {
idPage1 = 'page-1';
idComp1 = 'comp1';
idComp2 = 'comp2';
comp1 = createCompDef(idComp1); comp1 = createCompDef(idComp1);
comp2 = createCompDef(idComp2); comp2 = createCompDef(idComp2);
initPages = [ initPages = [
@ -124,9 +125,6 @@ describe('Pages', () => {
afterAll(() => { afterAll(() => {
editor.destroy(); editor.destroy();
pm = 0;
em = 0;
domc = 0;
}); });
test('Pages are created correctly', () => { test('Pages are created correctly', () => {
@ -153,26 +151,23 @@ describe('Pages', () => {
}); });
describe('Managing pages', () => { describe('Managing pages', () => {
let editor; let editor: Editor;
let em; let em: EditorModel;
let domc; let domc: Editor['Components'];
let initCmpLen; let initCmpLen = 0;
let pm; let pm: Editor['Pages'];
beforeEach(() => { beforeEach(() => {
editor = new Editor({ pageManager: true }); editor = new Editor({ pageManager: {} });
em = editor.getModel(); em = editor.getModel();
domc = em.get('DomComponents'); domc = em.Components;
pm = em.get('PageManager'); pm = em.Pages;
editor.getModel().loadOnStart(); editor.getModel().loadOnStart();
initCmpLen = Object.keys(domc.allById()).length; initCmpLen = Object.keys(domc.allById()).length;
}); });
afterEach(() => { afterEach(() => {
editor.destroy(); editor.destroy();
pm = 0;
em = 0;
domc = 0;
}); });
test('Add page', () => { test('Add page', () => {
@ -203,8 +198,8 @@ describe('Managing pages', () => {
test('Remove page', () => { test('Remove page', () => {
const eventRm = jest.fn(); const eventRm = jest.fn();
em.on(pm.events.remove, eventRm); em.on(pm.events.remove, eventRm);
const page = pm.add({}); const page = pm.add({})!;
pm.remove(page.id); pm.remove(`${page.id}`);
expect(pm.getAll().length).toBe(1); expect(pm.getAll().length).toBe(1);
expect(eventRm).toBeCalledTimes(1); expect(eventRm).toBeCalledTimes(1);
}); });
@ -213,8 +208,8 @@ describe('Managing pages', () => {
em.on(pm.events.removeBefore, (p, c, opts) => { em.on(pm.events.removeBefore, (p, c, opts) => {
opts.abort = 1; opts.abort = 1;
}); });
const page = pm.add({}); const page = pm.add({})!;
pm.remove(page.id); pm.remove(`${page.id}`);
expect(pm.getAll().length).toBe(2); expect(pm.getAll().length).toBe(2);
}); });
@ -223,15 +218,15 @@ describe('Managing pages', () => {
opts.abort = 1; opts.abort = 1;
complete(); complete();
}); });
const page = pm.add({}); const page = pm.add({})!;
pm.remove(page.id); pm.remove(`${page.id}`);
expect(pm.getAll().length).toBe(1); expect(pm.getAll().length).toBe(1);
}); });
test('Change page', () => { test('Change page', () => {
const event = jest.fn(); const event = jest.fn();
em.on(pm.events.update, event); em.on(pm.events.update, event);
const page = pm.add({}); const page = pm.add({})!;
const up = { name: 'Test' }; const up = { name: 'Test' };
const opts = { myopts: 1 }; const opts = { myopts: 1 };
page.set(up, opts); page.set(up, opts);
Loading…
Cancel
Save