Skip to content
Snippets Groups Projects
Commit 2850afca authored by Piotr Gawron's avatar Piotr Gawron
Browse files

running single tests from webstorm is possible

parent 2047894a
No related branches found
No related tags found
2 merge requests!115Resolve "admin panel should use API",!114Resolve "admin panel should use API"
This diff is collapsed.
...@@ -3,6 +3,8 @@ ...@@ -3,6 +3,8 @@
/* exported logger */ /* exported logger */
/* exported assert */ /* exported assert */
require("../../mocha-config");
var MapsAdminPanel = require('../../../../main/js/gui/admin/MapsAdminPanel'); var MapsAdminPanel = require('../../../../main/js/gui/admin/MapsAdminPanel');
var logger = require('../../logger'); var logger = require('../../logger');
...@@ -10,68 +12,68 @@ var assert = require('assert'); ...@@ -10,68 +12,68 @@ var assert = require('assert');
describe('MapsAdminPanel', function () { describe('MapsAdminPanel', function () {
it('refresh', function () { it('refresh', function () {
var mapTab; var mapTab;
var project; var project;
return ServerConnector.getProject().then(function (result) { return ServerConnector.getProject().then(function (result) {
project = result; project = result;
return ServerConnector.getConfiguration(); return ServerConnector.getConfiguration();
}).then(function (configuration) { }).then(function (configuration) {
mapTab = new MapsAdminPanel({ mapTab = new MapsAdminPanel({
element: testDiv, element: testDiv,
project: project, project: project,
configuration: configuration, configuration: configuration,
}); });
return mapTab.init(); return mapTab.init();
}).then(function () { }).then(function () {
return mapTab.onRefreshClicked(); return mapTab.onRefreshClicked();
}).then(function () { }).then(function () {
return mapTab.destroy(); return mapTab.destroy();
});
}); });
});
describe('onAddClicked', function () { describe('onAddClicked', function () {
it('default', function () { it('default', function () {
var mapTab; var mapTab;
var project; var project;
return ServerConnector.getProject().then(function (result) { return ServerConnector.getProject().then(function (result) {
project = result; project = result;
return ServerConnector.getConfiguration(); return ServerConnector.getConfiguration();
}).then(function (configuration) { }).then(function (configuration) {
mapTab = new MapsAdminPanel({ mapTab = new MapsAdminPanel({
element: testDiv, element: testDiv,
project: project, project: project,
configuration: configuration, configuration: configuration,
});
return mapTab.init();
}).then(function () {
return mapTab.onAddClicked();
}).then(function () {
return mapTab.destroy();
});
}); });
it('close and reopen', function () { return mapTab.init();
var mapTab; }).then(function () {
var project; return mapTab.onAddClicked();
return ServerConnector.getProject().then(function (result) { }).then(function () {
project = result; return mapTab.destroy();
return ServerConnector.getConfiguration(); });
}).then(function (configuration) { });
mapTab = new MapsAdminPanel({ it('close and reopen', function () {
element: testDiv, var mapTab;
project: project, var project;
configuration: configuration, return ServerConnector.getProject().then(function (result) {
}); project = result;
return mapTab.init(); return ServerConnector.getConfiguration();
}).then(function () { }).then(function (configuration) {
return mapTab.onAddClicked(); mapTab = new MapsAdminPanel({
}).then(function () { element: testDiv,
mapTab._addDialog.close(); project: project,
return mapTab.onAddClicked(); configuration: configuration,
}).then(function () {
return mapTab.destroy();
});
}); });
return mapTab.init();
}).then(function () {
return mapTab.onAddClicked();
}).then(function () {
mapTab._addDialog.close();
return mapTab.onAddClicked();
}).then(function () {
return mapTab.destroy();
});
}); });
});
}); });
This diff is collapsed.
...@@ -8,136 +8,136 @@ var assert = chai.assert; ...@@ -8,136 +8,136 @@ var assert = chai.assert;
var Helper = require('./Helper'); var Helper = require('./Helper');
// -----------------------------
var logger = require('./logger');
function removeCookies() {
var cookies = Cookies.get();
for (var cookie in cookies) {
Cookies.remove(cookie);
}
}
function mockBootstrap() {
$.fn.typeahead = function () {
logger.debug("Mock typeahead function call");
};
}
before(function () {
// GLOBAL configuration // GLOBAL configuration
global.navigator = { global.navigator = {
userAgent: 'node.js', userAgent: 'node.js',
appName: 'MinervaUnitTest', appName: 'MinervaUnitTest',
appVersion: '0.0.1', appVersion: '0.0.1',
}; };
var jsdom = require('jsdom'); var jsdom = require('jsdom');
global.dom = new jsdom.JSDOM(); global.dom = new jsdom.JSDOM();
global.window = global.dom.window; global.window = global.dom.window;
global.document = window.document; global.document = window.document;
global.$ = require('jQuery'); global.$ = require('jQuery');
global.jQuery = $; global.jQuery = $;
global.window.$ = $; global.window.$ = $;
// additions to jsdom implementations: // additions to jsdom implementations:
global.Option = window.Option; global.Option = window.Option;
global.Blob = window.Blob; global.Blob = window.Blob;
global.MouseEvent = window.MouseEvent; global.MouseEvent = window.MouseEvent;
global.FileReader = window.FileReader; global.FileReader = window.FileReader;
var originalCreateElement = document.createElement; var originalCreateElement = document.createElement;
document.createElement = function (arg) { document.createElement = function (arg) {
var result = originalCreateElement.call(this, arg); var result = originalCreateElement.call(this, arg);
// woraround for: https://github.com/tmpvar/jsdom/issues/961 // woraround for: https://github.com/tmpvar/jsdom/issues/961
if ("li" === arg) { if ("li" === arg) {
result.dataset = []; result.dataset = [];
} }
return result; return result;
}; };
window.open = function () { window.open = function () {
var result = {}; var result = {};
result.focus = function () { result.focus = function () {
}; };
return result; return result;
}; };
window.URL.createObjectURL = function () { window.URL.createObjectURL = function () {
}; };
// pileup is using heavily some browser defined javascript // pileup is using heavily some browser defined javascript
var pileup = require('pileup'); var pileup = require('pileup');
pileup.create = function () { pileup.create = function () {
return { return {
destroy: function () { destroy: function () {
} }
}; };
}; };
pileup.formats.twoBit = function () { pileup.formats.twoBit = function () {
return {}; return {};
}; };
pileup.formats.bigBed = function () { pileup.formats.bigBed = function () {
return {}; return {};
}; };
// --- // ---
require('jquery-ui-dist/jquery-ui.js'); require('jquery-ui-dist/jquery-ui.js');
require("bootstrap");
require('datatables.net')(window, $); require("bootstrap");
global.google = require('./google-map-mock'); require('datatables.net')(window, $);
global.GuiConnector = require('./GuiConnector-mock'); global.google = require('./google-map-mock');
global.ServerConnector = require('./ServerConnector-mock');
// ----------------------------- global.GuiConnector = require('./GuiConnector-mock');
global.ServerConnector = require('./ServerConnector-mock');
var logger = require('./logger');
function removeCookies() {
var cookies = Cookies.get();
for (var cookie in cookies) {
Cookies.remove(cookie);
}
}
function mockBootstrap() {
$.fn.typeahead = function () {
logger.debug("Mock typeahead function call");
};
}
before(function () { Promise.longStackTraces();
Promise.longStackTraces();
mockBootstrap(); mockBootstrap();
}); });
beforeEach(function () { beforeEach(function () {
window.onresize = undefined; window.onresize = undefined;
logger.flushBuffer(); logger.flushBuffer();
removeCookies(); removeCookies();
ServerConnector.init(); ServerConnector.init();
ServerConnector.getSessionData(null).setToken("MOCK_TOKEN_ID"); ServerConnector.getSessionData(null).setToken("MOCK_TOKEN_ID");
ServerConnector.getSessionData(null).setLogin("anonymous"); ServerConnector.getSessionData(null).setLogin("anonymous");
global.testDiv = document.createElement("div"); global.testDiv = document.createElement("div");
global.testDiv.id = "test"; global.testDiv.id = "test";
document.body.appendChild(testDiv); document.body.appendChild(testDiv);
return ServerConnector.getConfiguration().then(function (configuration) { return ServerConnector.getConfiguration().then(function (configuration) {
global.helper = new Helper(configuration); global.helper = new Helper(configuration);
helper.setUrl("http://test/"); helper.setUrl("http://test/");
GuiConnector.init(); GuiConnector.init();
}); });
}); });
afterEach(function () { afterEach(function () {
document.body.removeChild(global.testDiv); document.body.removeChild(global.testDiv);
delete global.testDiv; delete global.testDiv;
if (this.currentTest.state !== 'failed') { if (this.currentTest.state !== 'failed') {
if (document.body.hasChildNodes()) { if (document.body.hasChildNodes()) {
var content = document.body.innerHTML; var content = document.body.innerHTML;
document.body.innerHTML = ""; document.body.innerHTML = "";
this.test.error(new Error("Test didn't left clean document. Found: " + content)); this.test.error(new Error("Test didn't left clean document. Found: " + content));
} else if ($._data(window, "events").resize) { } else if ($._data(window, "events").resize) {
logger.debug($._data(window, "events").resize); logger.debug($._data(window, "events").resize);
this.test.error(new Error("Test didn't left clean resize events handlers.")); this.test.error(new Error("Test didn't left clean resize events handlers."));
}
} }
}
}); });
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment