nexshop-web-contents
Version:
Nexshop Web Contents Project
118 lines (103 loc) • 4.08 kB
JavaScript
import React from 'react';
import {expect} from 'chai';
import {createScene, createEmptySceneFromLayouts} from "../../src/model-factory/scene";
describe('Scene Spec', () => {
let createdScene;
const name = 'A.scene';
const panels = ['B'];
const resolution = {width: 100, height: 50};
const orientation = 'horizontal';
const relatedContents = [{id: '3'}, {id: '2'}, {id: '1'}];
const folderId = 'folderId';
beforeEach(() => {
createdScene = createScene(name, panels, folderId, resolution, orientation, relatedContents);
});
it('set name', () => {
expect(createdScene.name).to.deep.equal(name);
});
it('set folderId', () => {
expect(createdScene.folderId).to.deep.equal(folderId);
});
it('set panels', () => {
expect(createdScene.metaData.panels).to.deep.equal(panels);
});
it('set resolution', () => {
expect(createdScene.metaData.display.resolution).to.deep.equal(resolution);
});
describe('set orientation', () => {
it('set orientation', () => {
expect(createdScene.metaData.display.orientation).to.deep.equal(orientation);
});
it('set vertical resolution', () => {
createdScene = createScene(name, panels, folderId, resolution, 'vertical', relatedContents);
expect(createdScene.metaData.display.orientation).to.deep.equal('vertical');
});
});
it('set relatedContents', () => {
expect(createdScene.relatedContents).to.deep.equal(relatedContents);
});
describe('createEmptySceneFromLayouts', () => {
it('clone scene when createEmptySceneFromLayouts called by orientation', () => {
const horizontalLayout = {
id: '1',
index: 0,
panels:
[
{
direction: "row",
domAttribute: {
minSize: 5,
resize: "dynamic",
size: 960
},
id: "g1",
panels: [
{
domAttribute: {
minSize: 5,
resize: "dynamic",
size: 960
},
id: "p1",
type: "panel"
}
],
type: "group"
}
],
type: '1-1'
};
const verticalLayout = {
id: '1',
index: 0,
panels:
[
{
direction: "row",
domAttribute: {
minSize: 5,
resize: "dynamic",
size: 768
},
id: "g1",
panels: [
{
domAttribute: {
minSize: 5,
resize: "dynamic",
size: 768
},
id: "p1",
type: "panel"
}
],
type: "group"
}
],
type: '1-1'
};
expect(createEmptySceneFromLayouts('1', 'horizontal')).to.deep.equal(horizontalLayout);
expect(createEmptySceneFromLayouts('1', 'vertical')).to.deep.equal(verticalLayout);
});
});
});