From 5056ad61bb283dc1e58d0613005b3b9903b94aab Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Mon, 29 May 2017 15:29:49 +0200 Subject: [PATCH] ServerConnector is initialized earlier --- frontend-js/src/main/js/minerva.js | 4 +- frontend-js/src/test/js/minerva-test.js | 52 ++++++++++++++++--------- 2 files changed, 36 insertions(+), 20 deletions(-) diff --git a/frontend-js/src/main/js/minerva.js b/frontend-js/src/main/js/minerva.js index 106bc98a08..2ccde651d4 100644 --- a/frontend-js/src/main/js/minerva.js +++ b/frontend-js/src/main/js/minerva.js @@ -230,6 +230,7 @@ function getProject(params) { }; function create(params) { + var customMap; var leftPanel; var topMenu; @@ -237,11 +238,12 @@ function create(params) { if (!(params instanceof CustomMapOptions)) { params = new CustomMapOptions(params); } + initGlobals(params); + return getProject(params).then(function(project) { params.setProject(project); var element = params.getElement(); - initGlobals(params); verifyBrowser(); diff --git a/frontend-js/src/test/js/minerva-test.js b/frontend-js/src/test/js/minerva-test.js index 636dcdaa27..d5bc556c8b 100644 --- a/frontend-js/src/test/js/minerva-test.js +++ b/frontend-js/src/test/js/minerva-test.js @@ -7,6 +7,8 @@ require("./mocha-config.js"); var minerva = require('../../main/js/minerva'); var Project = require('../../main/js/map/data/Project'); var GuiConnectorMock = require('./GuiConnector-mock'); +var ServerConnectorMock = require('./ServerConnector-mock'); +var ServerConnectorMock = require('./ServerConnector-mock'); var chai = require('chai'); var assert = chai.assert; @@ -22,17 +24,19 @@ describe('minerva global', function() { beforeEach(function() { global.scriptDiv = document.createElement("script"); global.GuiConnector = undefined; + global.ServerConnector = undefined; document.body.appendChild(global.scriptDiv); }); afterEach(function() { document.body.removeChild(global.scriptDiv); global.GuiConnector = GuiConnectorMock; + global.ServerConnector = ServerConnectorMock; }); it('create', function() { var options = null; - return ServerConnector.getProject().then(function(project) { + return ServerConnectorMock.getProject().then(function(project) { options = helper.createCustomMapOptions(project); return minerva.create(options); @@ -43,7 +47,7 @@ describe('minerva global', function() { }); it('create with overview', function() { - return ServerConnector.readFile("testFiles/projectWithImages.json").then(function(fileContent) { + return ServerConnectorMock.readFile("testFiles/projectWithImages.json").then(function(fileContent) { var project = new Project(JSON.parse(fileContent)); var options = helper.createOptions(project); @@ -58,7 +62,7 @@ describe('minerva global', function() { it("showComments", function() { var options = null; - return ServerConnector.getProject().then(function(project) { + return ServerConnectorMock.getProject().then(function(project) { options = helper.createCustomMapOptions(project); return minerva.create(options); }).then(function() { @@ -66,18 +70,18 @@ describe('minerva global', function() { commentCheckbox.checked = true; return commentCheckbox.onclick(); }).then(function() { - assert.ok(ServerConnector.getSessionData(options.getProject()).getShowComments()); + assert.ok(ServerConnectorMock.getSessionData(options.getProject()).getShowComments()); }); }); it("contructor with GET zoom param", function() { helper.setUrl("http://test/?zoom=5"); var options; - return ServerConnector.getProject().then(function(project) { + return ServerConnectorMock.getProject().then(function(project) { options = helper.createCustomMapOptions(project); return minerva.create(options); }).then(function() { - var sessionData = ServerConnector.getSessionData(options.getProject()); + var sessionData = ServerConnectorMock.getSessionData(options.getProject()); assert.equal(sessionData.getZoomLevel(options.getProject().getModel()), 5); }); }); @@ -85,11 +89,11 @@ describe('minerva global', function() { it("contructor with GET coord param", function() { helper.setUrl("http://test/?x=5&y=6"); var options; - return ServerConnector.getProject().then(function(project) { + return ServerConnectorMock.getProject().then(function(project) { options = helper.createCustomMapOptions(project); return minerva.create(options); }).then(function() { - var center = ServerConnector.getSessionData(options.getProject()).getCenter(options.getProject().getModel()); + var center = ServerConnectorMock.getSessionData(options.getProject()).getCenter(options.getProject().getModel()); assert.ok(center instanceof google.maps.Point); assert.equal(center.x, 5); assert.equal(center.y, 6); @@ -99,7 +103,7 @@ describe('minerva global', function() { it('create with layout', function() { var layout; var project; - return ServerConnector.getProject().then(function(result) { + return ServerConnectorMock.getProject().then(function(result) { project = result; var options = helper.createCustomMapOptions(project); @@ -115,23 +119,23 @@ describe('minerva global', function() { }).then(function(visibleDataOverlays) { // input file is available so it's not the background file but overlay assert.equal(visibleDataOverlays.length, 0); - assert.equal(ServerConnector.getSessionData(project).getSelectedBackgroundOverlay(), layout.getId()); + assert.equal(ServerConnectorMock.getSessionData(project).getSelectedBackgroundOverlay(), layout.getId()); assert.equal(logger.getWarnings().length, 0); }); }); it('create with layout from session data', function() { var layout; - return ServerConnector.getProject().then(function(project) { + return ServerConnectorMock.getProject().then(function(project) { var options = helper.createCustomMapOptions(project); layout = project.getModel().getLayouts()[1]; - ServerConnector.getSessionData(project).setSelectedBackgroundOverlay(layout.getId()); + ServerConnectorMock.getSessionData(project).setSelectedBackgroundOverlay(layout.getId()); return minerva.create(options); }).then(function(customMap) { - assert.equal(ServerConnector.getSessionData().getSelectedBackgroundOverlay(), layout.getId()); + assert.equal(ServerConnectorMock.getSessionData().getSelectedBackgroundOverlay(), layout.getId()); }); }); @@ -144,7 +148,7 @@ describe('minerva global', function() { helper.setUrl("http://test/?layout=" + layoutName); - return ServerConnector.getProject().then(function(project) { + return ServerConnectorMock.getProject().then(function(project) { project.getModel().addLayout(layout); var options = helper.createCustomMapOptions(project); @@ -162,7 +166,7 @@ describe('minerva global', function() { it('create with search overlay and GET search param', function() { helper.setUrl("http://test/?search=s1"); - return ServerConnector.getProject().then(function(project) { + return ServerConnectorMock.getProject().then(function(project) { var options = helper.createCustomMapOptions(project); return minerva.create(options); }).then(function(result) { @@ -178,7 +182,7 @@ describe('minerva global', function() { var project = helper.createProject(); project.getModel().setId(15781); - return ServerConnector.getProject().then(function(project) { + return ServerConnectorMock.getProject().then(function(project) { var options = helper.createCustomMapOptions(project); return minerva.create(options); @@ -186,7 +190,7 @@ describe('minerva global', function() { }); it("contructor with touch enabled", function() { - return ServerConnector.getProject().then(function(project) { + return ServerConnectorMock.getProject().then(function(project) { var options = helper.createCustomMapOptions(project); options.setCustomTouchInterface(true); return minerva.create(options).then(function(result) { @@ -197,7 +201,7 @@ describe('minerva global', function() { it('add search listener', function() { var callbackOk = false; - return ServerConnector.getProject().then(function(project) { + return ServerConnectorMock.getProject().then(function(project) { var options = helper.createCustomMapOptions(project); options.setDebug(true); return minerva.create(options); @@ -213,7 +217,7 @@ describe('minerva global', function() { it('getProject', function() { var callbackOk = false; - return ServerConnector.getProject().then(function(project) { + return ServerConnectorMock.getProject().then(function(project) { var options = helper.createCustomMapOptions(project); return minerva.create(options); }).then(function(result) { @@ -221,4 +225,14 @@ describe('minerva global', function() { }); }); + it("simple contructor", function() { + var options = { + projectId : "sample", + element : testDiv + }; + return minerva.create(options).then(function(result) { + assert.ok(result); + }); + }); + }); -- GitLab