From d56a88a2980ac26814895d7d07beaec93e7f2f05 Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Thu, 24 Aug 2017 17:25:30 +0200 Subject: [PATCH] unit test checking if creation of chart for aliases is working --- .../src/main/js/map/window/AliasInfoWindow.js | 2 +- .../js/map/window/AliasInfoWindow-test.js | 195 ++++++++++-------- 2 files changed, 112 insertions(+), 85 deletions(-) diff --git a/frontend-js/src/main/js/map/window/AliasInfoWindow.js b/frontend-js/src/main/js/map/window/AliasInfoWindow.js index fa365c47ef..4fb18d9a55 100644 --- a/frontend-js/src/main/js/map/window/AliasInfoWindow.js +++ b/frontend-js/src/main/js/map/window/AliasInfoWindow.js @@ -72,7 +72,7 @@ AliasInfoWindow.prototype.createChartDiv = function() { var result = document.createElement("div"); var rows = []; var self = this; - return Promise.each(this.layoutAliases, function(data, i) { + return Promise.each(self.layoutAliases, function(data, i) { var rowDiv = document.createElement("div"); if (i % 2 === 0) { rowDiv.className = "mapChartRowEvenDiv"; diff --git a/frontend-js/src/test/js/map/window/AliasInfoWindow-test.js b/frontend-js/src/test/js/map/window/AliasInfoWindow-test.js index 8559d76ad1..e48b205a9f 100644 --- a/frontend-js/src/test/js/map/window/AliasInfoWindow-test.js +++ b/frontend-js/src/test/js/map/window/AliasInfoWindow-test.js @@ -1,10 +1,12 @@ "use strict"; +require("../../mocha-config"); var Promise = require("bluebird"); var functions = require('../../../../main/js/Functions'); 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 AliasInfoWindow = require('../../../../main/js/map/window/AliasInfoWindow'); var IdentifiedElement = require('../../../../main/js/map/data/IdentifiedElement'); @@ -14,9 +16,9 @@ var assert = require('assert'); var logger = require('../../logger'); -describe('AliasInfoWindow', function() { - describe('constructor', function() { - it("default", function() { +describe('AliasInfoWindow', function () { + describe('constructor', function () { + it("default", function () { var map = helper.createCustomMap(); var alias = helper.createAlias(); @@ -26,8 +28,8 @@ describe('AliasInfoWindow', function() { map.getModel().addAlias(alias); var aliasWindow = new AliasInfoWindow({ - alias : alias, - map : map + alias: alias, + map: map }); assert.equal(alias, aliasWindow.getAlias()); @@ -35,28 +37,28 @@ describe('AliasInfoWindow', function() { assert.ok(aliasWindow.getContent().innerHTML.indexOf("loading") >= 0); assert.equal(logger.getWarnings().length, 0); }); - it("loading data", function() { + it("loading data", function () { var map = helper.createCustomMap(); - map.getOverlayDataForAlias = function() { + map.getOverlayDataForAlias = function () { return Promise.resolve([]); }; var javaObject = { - bounds : { - x : 190, - y : 44, - width : 80, - height : 40 + bounds: { + x: 190, + y: 44, + width: 80, + height: 40 }, - modelId : map.getId(), - idObject : 30001 + modelId: map.getId(), + idObject: 30001 }; var alias = new Alias(javaObject); map.getModel().addAlias(alias); var aliasWindow = new AliasInfoWindow({ - alias : alias, - map : map + alias: alias, + map: map }); assert.equal(alias, aliasWindow.alias); @@ -65,29 +67,29 @@ describe('AliasInfoWindow', function() { }); }); - it("createOverlayInfoDiv", function() { + it("createOverlayInfoDiv", function () { var map = helper.createCustomMap(); var oc = helper.createDrugDbOverlay(map); var alias = helper.createAlias(map); var aliasWindow = new AliasInfoWindow({ - alias : alias, - map : map + alias: alias, + map: map }); - oc.searchNamesByTarget = function() { - return Promise.resolve([ "xField" ]); + oc.searchNamesByTarget = function () { + return Promise.resolve(["xField"]); }; - oc.getElementsByQueryFromServer = function() { - return Promise.resolve([ new Drug({ - name : "xField", - references : [], - targets : [], - }) ]); + oc.getElementsByQueryFromServer = function () { + return Promise.resolve([new Drug({ + name: "xField", + references: [], + 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); assert.ok(functions.isDomElement(overlayDiv)); assert.ok(overlayDiv.innerHTML.indexOf('xField') >= 0); @@ -95,29 +97,29 @@ describe('AliasInfoWindow', function() { }); - it("createDrugOverlayInfoDiv", function() { + it("createDrugOverlayInfoDiv", function () { helper.setUrl("http://test/?id=drug_target_sample"); var map, ie, aliasWindow, oc; - return ServerConnector.getProject().then(function(project) { + return ServerConnector.getProject().then(function (project) { map = helper.createCustomMap(project); oc = helper.createDrugDbOverlay(map); ie = new IdentifiedElement({ - id : 436152, - modelId : map.getId(), - type : "ALIAS" + id: 436152, + modelId: map.getId(), + type: "ALIAS" }); return map.getModel().getByIdentifiedElement(ie, true); - }).then(function(alias) { + }).then(function (alias) { aliasWindow = new AliasInfoWindow({ - alias : alias, - map : map + alias: alias, + map: map }); return oc.getDetailDataByIdentifiedElement(ie, true); - }).then(function(data) { + }).then(function (data) { var overlayDiv = aliasWindow.createOverlayInfoDiv(oc, data); assert.ok(functions.isDomElement(overlayDiv)); assert.ok(overlayDiv.innerHTML.indexOf('NADH') >= 0); @@ -125,33 +127,33 @@ describe('AliasInfoWindow', function() { }); }); - it("createChemicalOverlayInfoDiv", function() { + it("createChemicalOverlayInfoDiv", function () { var map, ie, aliasWindow, oc; - return ServerConnector.getProject().then(function(project) { + return ServerConnector.getProject().then(function (project) { map = helper.createCustomMap(project); oc = helper.createChemicalDbOverlay(map); ie = new IdentifiedElement({ - id : 329170, - modelId : map.getId(), - type : "ALIAS" + id: 329170, + modelId: map.getId(), + type: "ALIAS" }); return map.getModel().getByIdentifiedElement(ie, true); - }).then(function(alias) { + }).then(function (alias) { aliasWindow = new AliasInfoWindow({ - alias : alias, - map : map + alias: alias, + map: map }); return oc.getDetailDataByIdentifiedElement(ie, true); - }).then(function(data) { + }).then(function (data) { var overlayDiv = aliasWindow.createOverlayInfoDiv(oc, data); assert.ok(functions.isDomElement(overlayDiv)); }); }); - it("createCommentOverlayInfoDiv", function() { + it("createCommentOverlayInfoDiv", function () { var map = helper.createCustomMap(); var oc = helper.createCommentDbOverlay(map); @@ -163,11 +165,11 @@ describe('AliasInfoWindow', function() { map.getModel().addAlias(alias); var aliasWindow = new AliasInfoWindow({ - alias : alias, - map : map + alias: alias, + 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); comment.setContent("test comment Content"); @@ -183,32 +185,32 @@ describe('AliasInfoWindow', function() { }); - it("createGeneticsDiv", function() { + it("createGeneticsDiv", function () { var map; var overlay; var layoutAlias; var win; - return ServerConnector.getProject().then(function(project) { + return ServerConnector.getProject().then(function (project) { map = helper.createCustomMap(project); overlay = new LayoutData(18077, "xxx"); return overlay.init(); - }).then(function() { + }).then(function () { return overlay.getFullAliasById(overlay.getAliases()[0].getId()); - }).then(function(data) { + }).then(function (data) { layoutAlias = data; return map.getModel().getAliasById(layoutAlias.getId()); - }).then(function(alias) { + }).then(function (alias) { win = new AliasInfoWindow({ - alias : alias, - map : map + alias: alias, + map: map }); return win.init(); - }).then(function() { - win.layoutAliases = [ layoutAlias ]; + }).then(function () { + win.layoutAliases = [layoutAlias]; return win.createGenomicDiv(); - }).then(function(div) { + }).then(function (div) { assert.ok(div); assert.ok(div.innerHTML.indexOf("No reference genome data available on minerva platform") === -1); win.destroy(); @@ -216,28 +218,28 @@ describe('AliasInfoWindow', function() { }); - it("createGeneticsDiv with no genetic data", function() { + it("createGeneticsDiv with no genetic data", function () { var map; var win; var aliasId = 329173; - return ServerConnector.getProject().then(function(project) { + return ServerConnector.getProject().then(function (project) { map = helper.createCustomMap(project); var overlay = new LayoutData(18077, "xxx"); return overlay.init(); - }).then(function() { + }).then(function () { return map.getModel().getAliasById(aliasId); - }).then(function(alias) { + }).then(function (alias) { win = new AliasInfoWindow({ - alias : alias, - map : map + alias: alias, + map: map }); return win.init(); - }).then(function() { - win.layoutAliases = [ undefined ]; + }).then(function () { + win.layoutAliases = [undefined]; return win.createGenomicDiv(); - }).then(function(div) { + }).then(function (div) { assert.ok(div); assert.ok(div.innerHTML.indexOf("No reference genome data available on minerva platform") === -1); win.destroy(); @@ -245,36 +247,36 @@ describe('AliasInfoWindow', function() { }); - it("createGeneticsDivForUnknownOrganism", function() { + it("createGeneticsDivForUnknownOrganism", function () { var map; var overlay; var layoutAlias; var win; - return ServerConnector.getProject().then(function(project) { + return ServerConnector.getProject().then(function (project) { project.setOrganism({ - type : "TAXONOMY", - resource : "123456" + type: "TAXONOMY", + resource: "123456" }); map = helper.createCustomMap(project); overlay = new LayoutData(18077, "xxx"); return overlay.init(); - }).then(function() { + }).then(function () { return overlay.getFullAliasById(overlay.getAliases()[0].getId()); - }).then(function(data) { + }).then(function (data) { layoutAlias = data; return map.getModel().getAliasById(layoutAlias.getId()); - }).then(function(alias) { + }).then(function (alias) { win = new AliasInfoWindow({ - alias : alias, - map : map + alias: alias, + map: map }); return win.init(); - }).then(function() { - win.layoutAliases = [ layoutAlias ]; + }).then(function () { + win.layoutAliases = [layoutAlias]; return win.createGenomicDiv(); - }).then(function(div) { + }).then(function (div) { assert.ok(div); assert.ok(div.innerHTML.indexOf("No reference genome data available on minerva platform") >= -1); win.destroy(); @@ -282,16 +284,41 @@ describe('AliasInfoWindow', function() { }); - it("createWaitingContentDiv", function() { + it("createWaitingContentDiv", function () { var map = helper.createCustomMap(); var alias = helper.createAlias(map); alias.setIsComplete(true); var aliasWindow = new AliasInfoWindow({ - alias : alias, - map : map + alias: alias, + map: map }); 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); + }); + }); + }); -- GitLab