From 83e55f27551d1cfc0144cedbd1c106fadba7d301 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Mon, 12 Jun 2017 14:39:46 +0200
Subject: [PATCH] creating genetic div with no data doesn't throw an error

---
 .../src/main/js/map/window/AliasInfoWindow.js |  4 +--
 .../js/map/window/AliasInfoWindow-test.js     | 26 +++++++++++++++++++
 2 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/frontend-js/src/main/js/map/window/AliasInfoWindow.js b/frontend-js/src/main/js/map/window/AliasInfoWindow.js
index 1236a48328..f2e038314f 100644
--- a/frontend-js/src/main/js/map/window/AliasInfoWindow.js
+++ b/frontend-js/src/main/js/map/window/AliasInfoWindow.js
@@ -270,7 +270,7 @@ AliasInfoWindow.prototype.createGenomicDiv = function() {
   return Promise.each(
       self.layoutAliases,
       function(data) {
-        if (data !== null && data.getType() === LayoutAlias.GENETIC_VARIANT) {
+        if (data !== null && data !== undefined && data.getType() === LayoutAlias.GENETIC_VARIANT) {
           geneticInformation = true;
           return Promise.each(data.getGeneVariants(), function(variant) {
             return self.getCustomMap().getReferenceGenome(variant.getReferenceGenomeType(),
@@ -318,7 +318,7 @@ AliasInfoWindow.prototype.createGenomicDiv = function() {
     }
     return Promise.each(self.layoutAliases, function(data, i) {
       globalGeneVariants[i] = [];
-      if (data !== null && data.getType() === LayoutAlias.GENETIC_VARIANT) {
+      if (data !== null && data !== undefined && data.getType() === LayoutAlias.GENETIC_VARIANT) {
         var geneVariants = data.getGeneVariants();
         for (var j = 0; j < geneVariants.length; j++) {
           var variant = geneVariants[j];
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 aaa64afa12..dfd2fcbd98 100644
--- a/frontend-js/src/test/js/map/window/AliasInfoWindow-test.js
+++ b/frontend-js/src/test/js/map/window/AliasInfoWindow-test.js
@@ -164,6 +164,32 @@ describe('AliasInfoWindow', function() {
 
   });
 
+  it("createGeneticsDiv with no genetic data", function() {
+    var map;
+
+    var win;
+    var aliasId = 329173;
+
+    return ServerConnector.getProject().then(function(project) {
+      map = helper.createCustomMap(project);
+      var overlay = new LayoutData(18077, "xxx");
+      return overlay.init();
+    }).then(function() {
+      return map.getModel().getAliasById(aliasId);
+    }).then(function(alias) {
+      win = new AliasInfoWindow(alias, map);
+      return win.init();
+    }).then(function() {
+      win.layoutAliases = [ undefined ];
+      return win.createGenomicDiv();
+    }).then(function(div) {
+      assert.ok(div);
+      assert.ok(div.innerHTML.indexOf("No reference genome data available on minerva platform") === -1);
+      win.destroy();
+    });
+
+  });
+
   it("createGeneticsDivForUnknownOrganism", function() {
     var map;
     var overlay;
-- 
GitLab