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

unit test checking if creation of chart for aliases is working

parent d32569dd
No related branches found
No related tags found
2 merge requests!115Resolve "admin panel should use API",!114Resolve "admin panel should use API"
...@@ -72,7 +72,7 @@ AliasInfoWindow.prototype.createChartDiv = function() { ...@@ -72,7 +72,7 @@ AliasInfoWindow.prototype.createChartDiv = function() {
var result = document.createElement("div"); var result = document.createElement("div");
var rows = []; var rows = [];
var self = this; var self = this;
return Promise.each(this.layoutAliases, function(data, i) { return Promise.each(self.layoutAliases, function(data, i) {
var rowDiv = document.createElement("div"); var rowDiv = document.createElement("div");
if (i % 2 === 0) { if (i % 2 === 0) {
rowDiv.className = "mapChartRowEvenDiv"; rowDiv.className = "mapChartRowEvenDiv";
......
"use strict"; "use strict";
require("../../mocha-config");
var Promise = require("bluebird"); var Promise = require("bluebird");
var functions = require('../../../../main/js/Functions'); var functions = require('../../../../main/js/Functions');
var Alias = require('../../../../main/js/map/data/Alias'); var Alias = require('../../../../main/js/map/data/Alias');
var LayoutAlias = require('../../../../main/js/map/data/LayoutAlias');
var Drug = require('../../../../main/js/map/data/Drug'); var Drug = require('../../../../main/js/map/data/Drug');
var AliasInfoWindow = require('../../../../main/js/map/window/AliasInfoWindow'); var AliasInfoWindow = require('../../../../main/js/map/window/AliasInfoWindow');
var IdentifiedElement = require('../../../../main/js/map/data/IdentifiedElement'); var IdentifiedElement = require('../../../../main/js/map/data/IdentifiedElement');
...@@ -14,9 +16,9 @@ var assert = require('assert'); ...@@ -14,9 +16,9 @@ var assert = require('assert');
var logger = require('../../logger'); var logger = require('../../logger');
describe('AliasInfoWindow', function() { describe('AliasInfoWindow', function () {
describe('constructor', function() { describe('constructor', function () {
it("default", function() { it("default", function () {
var map = helper.createCustomMap(); var map = helper.createCustomMap();
var alias = helper.createAlias(); var alias = helper.createAlias();
...@@ -26,8 +28,8 @@ describe('AliasInfoWindow', function() { ...@@ -26,8 +28,8 @@ describe('AliasInfoWindow', function() {
map.getModel().addAlias(alias); map.getModel().addAlias(alias);
var aliasWindow = new AliasInfoWindow({ var aliasWindow = new AliasInfoWindow({
alias : alias, alias: alias,
map : map map: map
}); });
assert.equal(alias, aliasWindow.getAlias()); assert.equal(alias, aliasWindow.getAlias());
...@@ -35,28 +37,28 @@ describe('AliasInfoWindow', function() { ...@@ -35,28 +37,28 @@ describe('AliasInfoWindow', function() {
assert.ok(aliasWindow.getContent().innerHTML.indexOf("loading") >= 0); assert.ok(aliasWindow.getContent().innerHTML.indexOf("loading") >= 0);
assert.equal(logger.getWarnings().length, 0); assert.equal(logger.getWarnings().length, 0);
}); });
it("loading data", function() { it("loading data", function () {
var map = helper.createCustomMap(); var map = helper.createCustomMap();
map.getOverlayDataForAlias = function() { map.getOverlayDataForAlias = function () {
return Promise.resolve([]); return Promise.resolve([]);
}; };
var javaObject = { var javaObject = {
bounds : { bounds: {
x : 190, x: 190,
y : 44, y: 44,
width : 80, width: 80,
height : 40 height: 40
}, },
modelId : map.getId(), modelId: map.getId(),
idObject : 30001 idObject: 30001
}; };
var alias = new Alias(javaObject); var alias = new Alias(javaObject);
map.getModel().addAlias(alias); map.getModel().addAlias(alias);
var aliasWindow = new AliasInfoWindow({ var aliasWindow = new AliasInfoWindow({
alias : alias, alias: alias,
map : map map: map
}); });
assert.equal(alias, aliasWindow.alias); assert.equal(alias, aliasWindow.alias);
...@@ -65,29 +67,29 @@ describe('AliasInfoWindow', function() { ...@@ -65,29 +67,29 @@ describe('AliasInfoWindow', function() {
}); });
}); });
it("createOverlayInfoDiv", function() { it("createOverlayInfoDiv", function () {
var map = helper.createCustomMap(); var map = helper.createCustomMap();
var oc = helper.createDrugDbOverlay(map); var oc = helper.createDrugDbOverlay(map);
var alias = helper.createAlias(map); var alias = helper.createAlias(map);
var aliasWindow = new AliasInfoWindow({ var aliasWindow = new AliasInfoWindow({
alias : alias, alias: alias,
map : map map: map
}); });
oc.searchNamesByTarget = function() { oc.searchNamesByTarget = function () {
return Promise.resolve([ "xField" ]); return Promise.resolve(["xField"]);
}; };
oc.getElementsByQueryFromServer = function() { oc.getElementsByQueryFromServer = function () {
return Promise.resolve([ new Drug({ return Promise.resolve([new Drug({
name : "xField", name: "xField",
references : [], references: [],
targets : [], targets: [],
}) ]); })]);
}; };
return oc.getDetailDataByIdentifiedElement(new IdentifiedElement(alias), true).then(function(data) { return oc.getDetailDataByIdentifiedElement(new IdentifiedElement(alias), true).then(function (data) {
var overlayDiv = aliasWindow.createOverlayInfoDiv(oc, data); var overlayDiv = aliasWindow.createOverlayInfoDiv(oc, data);
assert.ok(functions.isDomElement(overlayDiv)); assert.ok(functions.isDomElement(overlayDiv));
assert.ok(overlayDiv.innerHTML.indexOf('xField') >= 0); assert.ok(overlayDiv.innerHTML.indexOf('xField') >= 0);
...@@ -95,29 +97,29 @@ describe('AliasInfoWindow', function() { ...@@ -95,29 +97,29 @@ describe('AliasInfoWindow', function() {
}); });
it("createDrugOverlayInfoDiv", function() { it("createDrugOverlayInfoDiv", function () {
helper.setUrl("http://test/?id=drug_target_sample"); helper.setUrl("http://test/?id=drug_target_sample");
var map, ie, aliasWindow, oc; var map, ie, aliasWindow, oc;
return ServerConnector.getProject().then(function(project) { return ServerConnector.getProject().then(function (project) {
map = helper.createCustomMap(project); map = helper.createCustomMap(project);
oc = helper.createDrugDbOverlay(map); oc = helper.createDrugDbOverlay(map);
ie = new IdentifiedElement({ ie = new IdentifiedElement({
id : 436152, id: 436152,
modelId : map.getId(), modelId: map.getId(),
type : "ALIAS" type: "ALIAS"
}); });
return map.getModel().getByIdentifiedElement(ie, true); return map.getModel().getByIdentifiedElement(ie, true);
}).then(function(alias) { }).then(function (alias) {
aliasWindow = new AliasInfoWindow({ aliasWindow = new AliasInfoWindow({
alias : alias, alias: alias,
map : map map: map
}); });
return oc.getDetailDataByIdentifiedElement(ie, true); return oc.getDetailDataByIdentifiedElement(ie, true);
}).then(function(data) { }).then(function (data) {
var overlayDiv = aliasWindow.createOverlayInfoDiv(oc, data); var overlayDiv = aliasWindow.createOverlayInfoDiv(oc, data);
assert.ok(functions.isDomElement(overlayDiv)); assert.ok(functions.isDomElement(overlayDiv));
assert.ok(overlayDiv.innerHTML.indexOf('NADH') >= 0); assert.ok(overlayDiv.innerHTML.indexOf('NADH') >= 0);
...@@ -125,33 +127,33 @@ describe('AliasInfoWindow', function() { ...@@ -125,33 +127,33 @@ describe('AliasInfoWindow', function() {
}); });
}); });
it("createChemicalOverlayInfoDiv", function() { it("createChemicalOverlayInfoDiv", function () {
var map, ie, aliasWindow, oc; var map, ie, aliasWindow, oc;
return ServerConnector.getProject().then(function(project) { return ServerConnector.getProject().then(function (project) {
map = helper.createCustomMap(project); map = helper.createCustomMap(project);
oc = helper.createChemicalDbOverlay(map); oc = helper.createChemicalDbOverlay(map);
ie = new IdentifiedElement({ ie = new IdentifiedElement({
id : 329170, id: 329170,
modelId : map.getId(), modelId: map.getId(),
type : "ALIAS" type: "ALIAS"
}); });
return map.getModel().getByIdentifiedElement(ie, true); return map.getModel().getByIdentifiedElement(ie, true);
}).then(function(alias) { }).then(function (alias) {
aliasWindow = new AliasInfoWindow({ aliasWindow = new AliasInfoWindow({
alias : alias, alias: alias,
map : map map: map
}); });
return oc.getDetailDataByIdentifiedElement(ie, true); return oc.getDetailDataByIdentifiedElement(ie, true);
}).then(function(data) { }).then(function (data) {
var overlayDiv = aliasWindow.createOverlayInfoDiv(oc, data); var overlayDiv = aliasWindow.createOverlayInfoDiv(oc, data);
assert.ok(functions.isDomElement(overlayDiv)); assert.ok(functions.isDomElement(overlayDiv));
}); });
}); });
it("createCommentOverlayInfoDiv", function() { it("createCommentOverlayInfoDiv", function () {
var map = helper.createCustomMap(); var map = helper.createCustomMap();
var oc = helper.createCommentDbOverlay(map); var oc = helper.createCommentDbOverlay(map);
...@@ -163,11 +165,11 @@ describe('AliasInfoWindow', function() { ...@@ -163,11 +165,11 @@ describe('AliasInfoWindow', function() {
map.getModel().addAlias(alias); map.getModel().addAlias(alias);
var aliasWindow = new AliasInfoWindow({ var aliasWindow = new AliasInfoWindow({
alias : alias, alias: alias,
map : map map: map
}); });
return oc.getDetailDataByIdentifiedElement(new IdentifiedElement(alias), true).then(function(data) { return oc.getDetailDataByIdentifiedElement(new IdentifiedElement(alias), true).then(function (data) {
var comment = helper.createComment(alias); var comment = helper.createComment(alias);
comment.setContent("test comment Content"); comment.setContent("test comment Content");
...@@ -183,32 +185,32 @@ describe('AliasInfoWindow', function() { ...@@ -183,32 +185,32 @@ describe('AliasInfoWindow', function() {
}); });
it("createGeneticsDiv", function() { it("createGeneticsDiv", function () {
var map; var map;
var overlay; var overlay;
var layoutAlias; var layoutAlias;
var win; var win;
return ServerConnector.getProject().then(function(project) { return ServerConnector.getProject().then(function (project) {
map = helper.createCustomMap(project); map = helper.createCustomMap(project);
overlay = new LayoutData(18077, "xxx"); overlay = new LayoutData(18077, "xxx");
return overlay.init(); return overlay.init();
}).then(function() { }).then(function () {
return overlay.getFullAliasById(overlay.getAliases()[0].getId()); return overlay.getFullAliasById(overlay.getAliases()[0].getId());
}).then(function(data) { }).then(function (data) {
layoutAlias = data; layoutAlias = data;
return map.getModel().getAliasById(layoutAlias.getId()); return map.getModel().getAliasById(layoutAlias.getId());
}).then(function(alias) { }).then(function (alias) {
win = new AliasInfoWindow({ win = new AliasInfoWindow({
alias : alias, alias: alias,
map : map map: map
}); });
return win.init(); return win.init();
}).then(function() { }).then(function () {
win.layoutAliases = [ layoutAlias ]; win.layoutAliases = [layoutAlias];
return win.createGenomicDiv(); return win.createGenomicDiv();
}).then(function(div) { }).then(function (div) {
assert.ok(div); assert.ok(div);
assert.ok(div.innerHTML.indexOf("No reference genome data available on minerva platform") === -1); assert.ok(div.innerHTML.indexOf("No reference genome data available on minerva platform") === -1);
win.destroy(); win.destroy();
...@@ -216,28 +218,28 @@ describe('AliasInfoWindow', function() { ...@@ -216,28 +218,28 @@ describe('AliasInfoWindow', function() {
}); });
it("createGeneticsDiv with no genetic data", function() { it("createGeneticsDiv with no genetic data", function () {
var map; var map;
var win; var win;
var aliasId = 329173; var aliasId = 329173;
return ServerConnector.getProject().then(function(project) { return ServerConnector.getProject().then(function (project) {
map = helper.createCustomMap(project); map = helper.createCustomMap(project);
var overlay = new LayoutData(18077, "xxx"); var overlay = new LayoutData(18077, "xxx");
return overlay.init(); return overlay.init();
}).then(function() { }).then(function () {
return map.getModel().getAliasById(aliasId); return map.getModel().getAliasById(aliasId);
}).then(function(alias) { }).then(function (alias) {
win = new AliasInfoWindow({ win = new AliasInfoWindow({
alias : alias, alias: alias,
map : map map: map
}); });
return win.init(); return win.init();
}).then(function() { }).then(function () {
win.layoutAliases = [ undefined ]; win.layoutAliases = [undefined];
return win.createGenomicDiv(); return win.createGenomicDiv();
}).then(function(div) { }).then(function (div) {
assert.ok(div); assert.ok(div);
assert.ok(div.innerHTML.indexOf("No reference genome data available on minerva platform") === -1); assert.ok(div.innerHTML.indexOf("No reference genome data available on minerva platform") === -1);
win.destroy(); win.destroy();
...@@ -245,36 +247,36 @@ describe('AliasInfoWindow', function() { ...@@ -245,36 +247,36 @@ describe('AliasInfoWindow', function() {
}); });
it("createGeneticsDivForUnknownOrganism", function() { it("createGeneticsDivForUnknownOrganism", function () {
var map; var map;
var overlay; var overlay;
var layoutAlias; var layoutAlias;
var win; var win;
return ServerConnector.getProject().then(function(project) { return ServerConnector.getProject().then(function (project) {
project.setOrganism({ project.setOrganism({
type : "TAXONOMY", type: "TAXONOMY",
resource : "123456" resource: "123456"
}); });
map = helper.createCustomMap(project); map = helper.createCustomMap(project);
overlay = new LayoutData(18077, "xxx"); overlay = new LayoutData(18077, "xxx");
return overlay.init(); return overlay.init();
}).then(function() { }).then(function () {
return overlay.getFullAliasById(overlay.getAliases()[0].getId()); return overlay.getFullAliasById(overlay.getAliases()[0].getId());
}).then(function(data) { }).then(function (data) {
layoutAlias = data; layoutAlias = data;
return map.getModel().getAliasById(layoutAlias.getId()); return map.getModel().getAliasById(layoutAlias.getId());
}).then(function(alias) { }).then(function (alias) {
win = new AliasInfoWindow({ win = new AliasInfoWindow({
alias : alias, alias: alias,
map : map map: map
}); });
return win.init(); return win.init();
}).then(function() { }).then(function () {
win.layoutAliases = [ layoutAlias ]; win.layoutAliases = [layoutAlias];
return win.createGenomicDiv(); return win.createGenomicDiv();
}).then(function(div) { }).then(function (div) {
assert.ok(div); assert.ok(div);
assert.ok(div.innerHTML.indexOf("No reference genome data available on minerva platform") >= -1); assert.ok(div.innerHTML.indexOf("No reference genome data available on minerva platform") >= -1);
win.destroy(); win.destroy();
...@@ -282,16 +284,41 @@ describe('AliasInfoWindow', function() { ...@@ -282,16 +284,41 @@ describe('AliasInfoWindow', function() {
}); });
it("createWaitingContentDiv", function() { it("createWaitingContentDiv", function () {
var map = helper.createCustomMap(); var map = helper.createCustomMap();
var alias = helper.createAlias(map); var alias = helper.createAlias(map);
alias.setIsComplete(true); alias.setIsComplete(true);
var aliasWindow = new AliasInfoWindow({ var aliasWindow = new AliasInfoWindow({
alias : alias, alias: alias,
map : map map: map
}); });
assert.ok(functions.isDomElement(aliasWindow.createWaitingContentDiv())); assert.ok(functions.isDomElement(aliasWindow.createWaitingContentDiv()));
}); });
it("createChartDiv ", function () {
var map, ie, aliasWindow;
return ServerConnector.getProject().then(function (project) {
map = helper.createCustomMap(project);
ie = new IdentifiedElement({
id: 329170,
modelId: map.getId(),
type: "ALIAS"
});
return map.getModel().getByIdentifiedElement(ie, true);
}).then(function (alias) {
aliasWindow = new AliasInfoWindow({
alias: alias,
map: map
});
aliasWindow.layoutAliases = [helper.createLayoutAlias(alias), null];
aliasWindow.layoutNames = ["x", "y"];
return aliasWindow.createChartDiv();
}).then(function (div) {
assert.ok(div);
});
});
}); });
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