Browse Source

Start pages tests

pull/3411/head
Artur Arseniev 5 years ago
parent
commit
33cda6e1ef
  1. 2
      src/canvas/model/Canvas.js
  2. 1
      src/canvas/model/Frame.js
  3. 2
      src/editor/index.js
  4. 3
      src/editor/model/Editor.js
  5. 2
      src/pages/index.js
  6. 130
      test/specs/pages/index.js

2
src/canvas/model/Canvas.js

@ -14,7 +14,7 @@ export default Backbone.Model.extend({
initialize(config = {}) {
const { em } = config;
const { styles = [], scripts = [] } = config;
const mainPage = em.get('Pages').getMain();
const mainPage = em.get('PageManager').getMain();
const frames = mainPage.getFrames();
const frame =
mainPage.getMainFrame() ||

1
src/canvas/model/Frame.js

@ -34,6 +34,7 @@ export default Backbone.Model.extend({
this.set('styles', allRules);
} else if (!isObject(styles)) {
allRules.add(styles);
this.set('styles', allRules);
}
},

2
src/editor/index.js

@ -153,10 +153,10 @@ export default (config = {}) => {
'Panels',
'Canvas',
'Parser',
'Pages',
'CodeManager',
'UndoManager',
'RichTextEditor',
['Pages', 'PageManager'],
'DomComponents',
['Components', 'DomComponents'],
'LayerManager',

3
src/editor/model/Editor.js

@ -16,7 +16,6 @@ Backbone.$ = $;
const deps = [
require('utils'),
require('i18n'),
require('pages'),
require('keymaps'),
require('undo_manager'),
require('storage_manager'),
@ -32,6 +31,7 @@ const deps = [
require('css_composer'),
require('trait_manager'),
require('dom_components'),
require('pages'),
require('navigator'),
require('canvas'),
require('commands'),
@ -80,6 +80,7 @@ export default Backbone.Model.extend({
this.set('storables', []);
this.set('selected', new Collection());
this.set('dmode', c.dragMode);
this.set('hasPages', !!c.pageManager);
const el = c.el;
const log = c.log;
const toLog = log === true ? keys(logs) : isArray(log) ? log : [];

2
src/pages/index.js

@ -9,7 +9,7 @@ const typeMain = 'main';
export default () => {
return {
name: 'Pages',
name: 'PageManager',
Page,

130
test/specs/pages/index.js

@ -0,0 +1,130 @@
import Editor from 'editor';
describe('Pages', () => {
let editor;
let em;
let domc;
let initCmpLen;
let pm;
beforeAll(() => {
editor = new Editor();
em = editor.getModel();
domc = em.get('DomComponents');
pm = em.get('PageManager');
initCmpLen = Object.keys(domc.allById()).length;
});
afterAll(() => {
editor.destroy();
pm = 0;
em = 0;
domc = 0;
});
beforeEach(() => {});
afterEach(() => {});
test('Pages module exists', () => {
expect(pm).toBeTruthy();
});
test('Has by default one page created', () => {
expect(pm.getAll().length).toBe(1);
});
test('The default page is selected', () => {
expect(pm.getMain()).toBe(pm.getSelected());
});
test('The default page has one frame', () => {
expect(pm.getMain().getFrames().length).toBe(1);
});
test('The default frame has the wrapper component', () => {
const frame = pm
.getMain()
.getFrames()
.at(0);
const frameCmp = frame.getComponents();
expect(frameCmp.is('wrapper')).toBe(true);
});
test('The default wrapper has no content', () => {
const frame = pm
.getMain()
.getFrames()
.at(0);
const frameCmp = frame.getComponents();
expect(frameCmp.components().length).toBe(0);
expect(frame.getStyles().length).toBe(0);
expect(initCmpLen).toBe(1);
});
describe.only('Init with pages', () => {
let idPage1, idComp1, idComp2, comp1, comp2, initPages;
const createCompDef = id => ({
attributes: {
id,
class: id,
customattr: id
},
components: `Component ${id}`
});
beforeAll(() => {
idPage1 = 'page-1';
idComp1 = 'comp1';
idComp2 = 'comp2';
comp1 = createCompDef(idComp1);
comp2 = createCompDef(idComp2);
initPages = [
{
id: idPage1,
frames: [
{
components: [comp1],
styles: `#${idComp1} { color: red }`
}
]
},
{
id: 'page-2',
frames: [
{
components: [comp2],
styles: `#${idComp2} { color: blue }`
}
]
}
];
editor = new Editor({
pages: {
pages: initPages
}
});
em = editor.getModel();
domc = em.get('DomComponents');
pm = em.get('PageManager');
initCmpLen = Object.keys(domc.allById()).length;
});
afterAll(() => {
editor.destroy();
pm = 0;
em = 0;
domc = 0;
});
test('Pages are created correctly', () => {
const pages = pm.getAll();
expect(pages.length).toBe(initPages.length);
pages.map(page => {
expect(page.get('id')).toBeTruthy();
// expect(page.getMainFrame().getComponents().get('type')).toBe('wrapper');
});
});
// test('Pages are created', () => {
// expect(pm.getAll().length).toBe(initPages.length);
// });
});
});
Loading…
Cancel
Save