Setup UI testing (#720)

* default sequencer ui test

* default step ui test suite

* intermediate step ui test

* preview ui test suite

* url methods test suite

* add set url params method test suite

* argument call tests

* test directory refactor

* travis fix
This commit is contained in:
Vibhor Gupta
2019-01-31 23:26:34 +05:30
committed by Jeffrey Warren
parent 8880a580dd
commit 0cd3156c06
33 changed files with 2139 additions and 1723 deletions

View File

@@ -0,0 +1,31 @@
var test = require('tape');
var jsdom = require('jsdom');
var JSDOM = jsdom.JSDOM;
var DOM = new JSDOM(`<body></body>`);
global.document = DOM.window.document;
var DefaultHtmlStepUi = require('../../../examples/lib/defaultHtmlStepUi')
var sequencer = require('../../../src/ImageSequencer.js')();
var UserInterface = require('../../../src/ui/UserInterface');
test('Notify function works for all three UIs', function (t) {
//Mocking console.log for testing default notify()
function doesLogMessage(f, message) {
var oldLog = console.log,
result = false;
console.log = function (s) {
if (s == message) {
result = true;
}
};
f('Test Message');
console.log = oldLog;
return result;
}
t.equal(doesLogMessage(UserInterface().notify, 'Test Message'),true,'Default notify() produces correct output');
sequencer.setUI(DefaultHtmlStepUi(sequencer));
t.equal(typeof sequencer.events.notify, "function", "Html UI contains notify function");
t.end();
});