UNPKG

wigjs

Version:

Minimalistic, scalable, extensible, dependency-less Front-end factory for HTML5 applications

71 lines (54 loc) 2.12 kB
describe('ViewManager', function () { 'use strict'; var assert = chai.assert; var viewFixtureFactory = wig.test.viewFixtureFactory; afterEach(function () { wig.env.viewRegistry.empty(); }); describe('getParentView', function () { it('returns undefined if no parent is registered', function () { var viewId = 'a', view = viewFixtureFactory(viewId); assert.notOk(wig.env.viewManager.getParentView(view)); }); it('returns parent view', function () { var childId = 'a', parentId = 'b', parent = viewFixtureFactory(parentId), child = viewFixtureFactory(childId, parentId); assert.equal(wig.env.viewManager.getParentView(child), parent); }); }); describe('getView', function () { it('returns the registered view', function () { var id = 'a', view = wig.test.viewFixtureFactory(id); wig.env.viewRegistry.set(id, { view: view }); assert.equal(wig.env.viewManager.getView(id), view); }); }); describe('getViewAtNode', function () { it('returns the view associated to an Element by it\'s data attribute', function () { var view = {}, id = 'a', div = document.createElement('div'); div.dataset[wig.env.DATA_ATTRIBUTE] = id; wig.env.viewRegistry.set(id, { view: view }); assert.equal(wig.env.viewManager.getViewAtNode(div), view); }); }); describe('destroyViewAtNode', function () { it('destroys the view associated to an Element by it\'s data attribute', function () { var id = 'a', view = wig.test.viewFixtureFactory(id), div = document.createElement('div'); div.dataset[wig.env.DATA_ATTRIBUTE] = id; wig.env.viewManager.destroyViewAtNode(div); assert.ok(view.remove.calledOnce); }); }); });