var { JSDOM } = require('jsdom'); var DOM = new JSDOM(''); global.document = DOM.window.document; describe('Sequencer step HTML', function() { var DefaultHtmlStepUi = require('../../../examples/lib/defaultHtmlStepUi'); var sequencer = require('../../../src/ImageSequencer')(); var defaultHtmlStepUi; var step = 'brightness'; var options = { name: 'Brightness', description: 'Change the brightness of the image by given percent value' }; // options = JSON.parse(options) beforeAll(() => { const { JSDOM } = require('jsdom'); var { window } = new JSDOM(); const { document } = window; global.window = window; global.document = document; const $ = global.jQuery = global.$ = require('jquery'); }); beforeEach(()=>{ defaultHtmlStepUi = new DefaultHtmlStepUi(sequencer); spyOn(defaultHtmlStepUi, 'getPreview'); spyOn(defaultHtmlStepUi, 'onSetup'); spyOn(defaultHtmlStepUi, 'onComplete'); spyOn(defaultHtmlStepUi, 'onDraw'); spyOn(defaultHtmlStepUi, 'onRemove'); spyOn(defaultHtmlStepUi, 'notify'); defaultHtmlStepUi.getPreview(); defaultHtmlStepUi.onSetup(step, options); defaultHtmlStepUi.onComplete(step); defaultHtmlStepUi.onDraw(step); defaultHtmlStepUi.onRemove(step); defaultHtmlStepUi.notify('Step removed', 'remove-notification'); }); it('result preview ui', function() { expect(defaultHtmlStepUi.getPreview).toHaveBeenCalled(); }); it('load initial setup ui', function() { expect(defaultHtmlStepUi.onSetup).toHaveBeenCalledWith(step, options); }); it('load completion ui', function() { expect(defaultHtmlStepUi.onComplete).toHaveBeenCalledWith(step); }); it('draw step ui', function() { expect(defaultHtmlStepUi.onDraw).toHaveBeenCalledWith(step); }); it('remove step ui', function() { expect(defaultHtmlStepUi.onRemove).toHaveBeenCalledWith(step); }); it('notification ui', function() { expect(defaultHtmlStepUi.notify).toHaveBeenCalledWith('Step removed', 'remove-notification'); }); });