UNPKG

@snippetify/book-reader

Version:
67 lines (57 loc) 2.02 kB
require('./utils/mock').initJsDOM() const config = require('../src/config') const { assert, expect } = require('chai') const MenuBuilder = require('../src/MenuBuilder') const EventManager = require('../src/EventManager') describe('MenuBuilder', () => { let menuBuilder beforeEach(() => { menuBuilder = MenuBuilder.getInstance() menuBuilder .setConfig(config.contextMenu) .setRootElement($(document).find('body').get(0)) }) describe('#getInstance', () => { it('doit retourner une instance de MenuBuilder', () => { assert.isTrue(MenuBuilder.getInstance() instanceof MenuBuilder) }) }) describe('#setConfig', () => { it('contient la configuration', () => { menuBuilder.setConfig(config.contextMenu) expect(config.contextMenu).to.eql(menuBuilder.config) }) }) describe('#setRootElement', () => { it('doit injecter le root element', () => { menuBuilder.setRootElement(document) expect(document).to.equal(menuBuilder.rootElement) }) }) describe('#setEvents', () => { it('doit injecter le manager d\'evenement', () => { const events = EventManager.getInstance() menuBuilder.setEvents(events) expect(events).to.eql(menuBuilder.events) }) }) describe('#build', () => { it('doit construire et retourner le menu contextuel', () => { assert.isTrue(menuBuilder.build().find('button').length > 0) }) }) describe('#print', () => { it('doit imprimer le menu', () => { menuBuilder.print($('body').find('p').get(0)) assert.isTrue(parseInt($('body').find('[data-type="context-menu"]').css('top')) > 0) }) }) describe('#remove', () => { it('doit etre enlevé dans le body de la page', () => { menuBuilder.print($('body').find('p').get(0)) assert.isTrue(parseInt($('body').find('[data-type="context-menu"]').css('top')) > 0) menuBuilder.remove() assert.isTrue($('body').find('[data-type="context-menu"]').length === 0) }) }) })