From befb8ed9ff9d6938366ee58ff34c59aad91f22f8 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Fri, 7 Apr 2017 15:30:16 +0200
Subject: [PATCH] generic search by query fix

---
 frontend-js/src/main/js/gui/SearchPanel.js    |  4 ++--
 .../src/test/js/gui/ChemicalPanel-test.js     |  1 -
 .../src/test/js/gui/SearchPanel-test.js       | 20 +++++++++++++++++++
 3 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/frontend-js/src/main/js/gui/SearchPanel.js b/frontend-js/src/main/js/gui/SearchPanel.js
index 72fb8d658f..b0a142476c 100644
--- a/frontend-js/src/main/js/gui/SearchPanel.js
+++ b/frontend-js/src/main/js/gui/SearchPanel.js
@@ -158,8 +158,8 @@ SearchPanel.prototype.createAliasElement = function(alias, icon) {
 
 SearchPanel.prototype.searchByQuery = function() {
   var self = this;
-  var query = self.getSearchInput().value;
-  var perfect = self.getSearchPerfectMatch().checked;
+  var query = this.getControlElement(PanelControlElementType.SEARCH_INPUT).value; 
+  var perfect = this.getControlElement(PanelControlElementType.SEARCH_PERFECT_MATCH_CHECKBOX).checked;
   return self.getOverlayDb().searchByQuery(query, perfect);
 };
 
diff --git a/frontend-js/src/test/js/gui/ChemicalPanel-test.js b/frontend-js/src/test/js/gui/ChemicalPanel-test.js
index 99afd8632d..dd9cc5b5f3 100644
--- a/frontend-js/src/test/js/gui/ChemicalPanel-test.js
+++ b/frontend-js/src/test/js/gui/ChemicalPanel-test.js
@@ -8,7 +8,6 @@ var Chemical = require('../../../main/js/map/data/Chemical');
 var ChemicalPanel = require('../../../main/js/gui/ChemicalPanel');
 var PanelControlElementType = require('../../../main/js/gui/PanelControlElementType');
 
-
 var chai = require('chai');
 var assert = chai.assert;
 var logger = require('../logger');
diff --git a/frontend-js/src/test/js/gui/SearchPanel-test.js b/frontend-js/src/test/js/gui/SearchPanel-test.js
index fe7842d790..f9a1d97df2 100644
--- a/frontend-js/src/test/js/gui/SearchPanel-test.js
+++ b/frontend-js/src/test/js/gui/SearchPanel-test.js
@@ -6,6 +6,7 @@ require("../mocha-config.js");
 
 var Alias = require('../../../main/js/map/data/Alias');
 var SearchPanel = require('../../../main/js/gui/SearchPanel');
+var PanelControlElementType = require('../../../main/js/gui/PanelControlElementType');
 
 var chai = require('chai');
 var assert = chai.assert;
@@ -66,6 +67,25 @@ describe('SearchPanel', function() {
     });
   });
 
+  it('search by query with no results', function() {
+    var div = helper.createSearchTab();
+    var map = helper.createCustomMap();
+    map.getModel().setId(15781);
+    var searchDbOverlay = helper.createSearchDbOverlay(map);
+
+    var panel = new SearchPanel({
+      element : div,
+      customMap : map
+    });
+
+    panel.getControlElement(PanelControlElementType.SEARCH_INPUT).value = "s1";
+    
+    return panel.searchByQuery().then(function() {
+      assert.equal(logger.getWarnings().length, 0);
+      assert.ok(div.innerHTML.indexOf("s1") >= 0);
+    });
+  });
+
   it('createAliasElement', function() {
     var aliasObj = {
       symbol : "S1_SYMB",
-- 
GitLab