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 @@
/* exported logger */
/* exported assert */
require("../../mocha-config");
var MapsAdminPanel = require('../../../../main/js/gui/admin/MapsAdminPanel');
var logger = require('../../logger');
......@@ -10,68 +12,68 @@ var assert = require('assert');
describe('MapsAdminPanel', function () {
it('refresh', function () {
var mapTab;
var project;
return ServerConnector.getProject().then(function (result) {
project = result;
return ServerConnector.getConfiguration();
}).then(function (configuration) {
mapTab = new MapsAdminPanel({
element: testDiv,
project: project,
configuration: configuration,
});
return mapTab.init();
}).then(function () {
return mapTab.onRefreshClicked();
}).then(function () {
return mapTab.destroy();
});
it('refresh', function () {
var mapTab;
var project;
return ServerConnector.getProject().then(function (result) {
project = result;
return ServerConnector.getConfiguration();
}).then(function (configuration) {
mapTab = new MapsAdminPanel({
element: testDiv,
project: project,
configuration: configuration,
});
return mapTab.init();
}).then(function () {
return mapTab.onRefreshClicked();
}).then(function () {
return mapTab.destroy();
});
});
describe('onAddClicked', function () {
it('default', function () {
var mapTab;
var project;
return ServerConnector.getProject().then(function (result) {
project = result;
return ServerConnector.getConfiguration();
}).then(function (configuration) {
mapTab = new MapsAdminPanel({
element: testDiv,
project: project,
configuration: configuration,
});
return mapTab.init();
}).then(function () {
return mapTab.onAddClicked();
}).then(function () {
return mapTab.destroy();
});
describe('onAddClicked', function () {
it('default', function () {
var mapTab;
var project;
return ServerConnector.getProject().then(function (result) {
project = result;
return ServerConnector.getConfiguration();
}).then(function (configuration) {
mapTab = new MapsAdminPanel({
element: testDiv,
project: project,
configuration: configuration,
});
it('close and reopen', function () {
var mapTab;
var project;
return ServerConnector.getProject().then(function (result) {
project = result;
return ServerConnector.getConfiguration();
}).then(function (configuration) {
mapTab = new MapsAdminPanel({
element: testDiv,
project: project,
configuration: configuration,
});
return mapTab.init();
}).then(function () {
return mapTab.onAddClicked();
}).then(function () {
mapTab._addDialog.close();
return mapTab.onAddClicked();
}).then(function () {
return mapTab.destroy();
});
return mapTab.init();
}).then(function () {
return mapTab.onAddClicked();
}).then(function () {
return mapTab.destroy();
});
});
it('close and reopen', function () {
var mapTab;
var project;
return ServerConnector.getProject().then(function (result) {
project = result;
return ServerConnector.getConfiguration();
}).then(function (configuration) {
mapTab = new MapsAdminPanel({
element: testDiv,
project: project,
configuration: configuration,
});
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;
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.navigator = {
global.navigator = {
userAgent: 'node.js',
appName: 'MinervaUnitTest',
appVersion: '0.0.1',
};
};
var jsdom = require('jsdom');
global.dom = new jsdom.JSDOM();
global.window = global.dom.window;
global.document = window.document;
var jsdom = require('jsdom');
global.dom = new jsdom.JSDOM();
global.window = global.dom.window;
global.document = window.document;
global.$ = require('jQuery');
global.jQuery = $;
global.window.$ = $;
global.$ = require('jQuery');
global.jQuery = $;
global.window.$ = $;
// additions to jsdom implementations:
global.Option = window.Option;
global.Blob = window.Blob;
global.MouseEvent = window.MouseEvent;
global.FileReader = window.FileReader;
global.Option = window.Option;
global.Blob = window.Blob;
global.MouseEvent = window.MouseEvent;
global.FileReader = window.FileReader;
var originalCreateElement = document.createElement;
document.createElement = function (arg) {
var originalCreateElement = document.createElement;
document.createElement = function (arg) {
var result = originalCreateElement.call(this, arg);
// woraround for: https://github.com/tmpvar/jsdom/issues/961
if ("li" === arg) {
result.dataset = [];
result.dataset = [];
}
return result;
};
};
window.open = function () {
window.open = function () {
var result = {};
result.focus = function () {
};
return result;
};
window.URL.createObjectURL = function () {
};
window.URL.createObjectURL = function () {
};
};
// pileup is using heavily some browser defined javascript
var pileup = require('pileup');
pileup.create = function () {
var pileup = require('pileup');
pileup.create = function () {
return {
destroy: function () {
}
destroy: function () {
}
};
};
pileup.formats.twoBit = function () {
};
pileup.formats.twoBit = function () {
return {};
};
pileup.formats.bigBed = function () {
};
pileup.formats.bigBed = function () {
return {};
};
};
// ---
require('jquery-ui-dist/jquery-ui.js');
require("bootstrap");
require('jquery-ui-dist/jquery-ui.js');
require('datatables.net')(window, $);
require("bootstrap");
global.google = require('./google-map-mock');
require('datatables.net')(window, $);
global.GuiConnector = require('./GuiConnector-mock');
global.ServerConnector = require('./ServerConnector-mock');
global.google = require('./google-map-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");
};
}
global.GuiConnector = require('./GuiConnector-mock');
global.ServerConnector = require('./ServerConnector-mock');
before(function () {
Promise.longStackTraces();
Promise.longStackTraces();
mockBootstrap();
mockBootstrap();
});
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).setLogin("anonymous");
ServerConnector.getSessionData(null).setToken("MOCK_TOKEN_ID");
ServerConnector.getSessionData(null).setLogin("anonymous");
global.testDiv = document.createElement("div");
global.testDiv.id = "test";
document.body.appendChild(testDiv);
global.testDiv = document.createElement("div");
global.testDiv.id = "test";
document.body.appendChild(testDiv);
return ServerConnector.getConfiguration().then(function (configuration) {
global.helper = new Helper(configuration);
helper.setUrl("http://test/");
GuiConnector.init();
});
return ServerConnector.getConfiguration().then(function (configuration) {
global.helper = new Helper(configuration);
helper.setUrl("http://test/");
GuiConnector.init();
});
});
afterEach(function () {
document.body.removeChild(global.testDiv);
delete global.testDiv;
if (this.currentTest.state !== 'failed') {
if (document.body.hasChildNodes()) {
var content = document.body.innerHTML;
document.body.innerHTML = "";
this.test.error(new Error("Test didn't left clean document. Found: " + content));
} else if ($._data(window, "events").resize) {
logger.debug($._data(window, "events").resize);
this.test.error(new Error("Test didn't left clean resize events handlers."));
}
document.body.removeChild(global.testDiv);
delete global.testDiv;
if (this.currentTest.state !== 'failed') {
if (document.body.hasChildNodes()) {
var content = document.body.innerHTML;
document.body.innerHTML = "";
this.test.error(new Error("Test didn't left clean document. Found: " + content));
} else if ($._data(window, "events").resize) {
logger.debug($._data(window, "events").resize);
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