diff --git a/frontend-js/.idea/workspace.xml b/frontend-js/.idea/workspace.xml index 78161940baea16fa571ec6e1105a625242c07601..7cded4b30ded0221012e81af94304f573b340b27 100644 --- a/frontend-js/.idea/workspace.xml +++ b/frontend-js/.idea/workspace.xml @@ -1,9 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> + <component name="AnalysisUIOptions"> + <option name="SCOPE_TYPE" value="8" /> + <option name="CUSTOM_SCOPE_NAME" value="Project" /> + </component> <component name="ChangeListManager"> <list default="true" id="c119f0dd-fdda-4d02-a51e-86bc6ef7e50c" name="Default" comment=""> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/codeStyleSettings.xml" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/gui/admin/MapsAdminPanel-test.js" afterPath="$PROJECT_DIR$/src/test/js/gui/admin/MapsAdminPanel-test.js" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/minerva-test.js" afterPath="$PROJECT_DIR$/src/test/js/minerva-test.js" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/js/mocha-config.js" afterPath="$PROJECT_DIR$/src/test/js/mocha-config.js" /> </list> <ignored path="$PROJECT_DIR$/.tmp/" /> @@ -21,8 +25,8 @@ <file leaf-file-name="minerva.js" pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/src/main/js/minerva.js"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="-24"> - <caret line="650" column="19" lean-forward="false" selection-start-line="650" selection-start-column="19" selection-end-line="650" selection-end-column="19" /> + <state relative-caret-position="204"> + <caret line="66" column="23" lean-forward="false" selection-start-line="66" selection-start-column="23" selection-end-line="66" selection-end-column="23" /> <folding> <marker date="1503565102260" expanded="true" signature="18787:18846" ph="..." /> <marker date="1503565102260" expanded="true" signature="22494:22553" ph="..." /> @@ -55,11 +59,11 @@ </provider> </entry> </file> - <file leaf-file-name="mocha-config.js" pinned="false" current-in-tab="true"> + <file leaf-file-name="mocha-config.js" pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/src/test/js/mocha-config.js"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="170"> - <caret line="10" column="0" lean-forward="false" selection-start-line="10" selection-start-column="0" selection-end-line="10" selection-end-column="0" /> + <state relative-caret-position="493"> + <caret line="29" column="22" lean-forward="false" selection-start-line="29" selection-start-column="22" selection-end-line="29" selection-end-column="22" /> <folding /> </state> </provider> @@ -91,8 +95,8 @@ <file leaf-file-name="MapsAdminPanel-test.js" pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/src/test/js/gui/admin/MapsAdminPanel-test.js"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="80"> - <caret line="5" column="30" lean-forward="true" selection-start-line="5" selection-start-column="30" selection-end-line="5" selection-end-column="30" /> + <state relative-caret-position="51"> + <caret line="3" column="0" lean-forward="false" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" /> <folding /> </state> </provider> @@ -108,21 +112,21 @@ </provider> </entry> </file> - <file leaf-file-name="Admin.js" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/main/js/Admin.js"> + <file leaf-file-name="minerva-test.js" pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/src/test/js/minerva-test.js"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="-7"> - <caret line="178" column="17" lean-forward="false" selection-start-line="178" selection-start-column="17" selection-end-line="178" selection-end-column="17" /> + <state relative-caret-position="136"> + <caret line="18" column="46" lean-forward="true" selection-start-line="18" selection-start-column="46" selection-end-line="18" selection-end-column="46" /> <folding /> </state> </provider> </entry> </file> - <file leaf-file-name="minerva-test.js" pinned="false" current-in-tab="false"> - <entry file="file://$PROJECT_DIR$/src/test/js/minerva-test.js"> + <file leaf-file-name="global.css" pinned="false" current-in-tab="true"> + <entry file="file://$PROJECT_DIR$/src/main/css/global.css"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="179"> - <caret line="519" column="32" lean-forward="false" selection-start-line="519" selection-start-column="32" selection-end-line="519" selection-end-column="32" /> + <state relative-caret-position="460"> + <caret line="352" column="17" lean-forward="true" selection-start-line="352" selection-start-column="17" selection-end-line="352" selection-end-column="17" /> <folding /> </state> </provider> @@ -132,7 +136,6 @@ </component> <component name="FindInProjectRecents"> <findStrings> - <find>initia</find> <find>init</find> <find>initialized</find> <find>openAdd</find> @@ -155,13 +158,14 @@ <find>destroy</find> <find>destr</find> <find>logger.in</find> - <find>createA</find> <find>resize</find> <find>DataT</find> <find>Table</find> <find>DataTa</find> <find>DataTable</find> <find>isD</find> + <find>createA</find> + <find>scriptDiv</find> </findStrings> <dirStrings> <dir>C:\Users\piotr.gawron\workspace\MapViewer-parent\frontend-js\src\main\js\gui\leftPanel</dir> @@ -199,7 +203,6 @@ <option value="$PROJECT_DIR$/src/main/js/gui/admin/MapsAdminPanel.js" /> <option value="$PROJECT_DIR$/src/main/js/gui/admin/CommentsAdminPanel.js" /> <option value="$PROJECT_DIR$/src/main/js/Admin.js" /> - <option value="$PROJECT_DIR$/src/test/js/minerva-test.js" /> <option value="$PROJECT_DIR$/src/main/js/gui/leftPanel/PublicationListDialog.js" /> <option value="$PROJECT_DIR$/src/main/js/gui/export/ElementExportPanel.js" /> <option value="$PROJECT_DIR$/src/test/js/gui/leftPanel/PublicationListDialog-test.js" /> @@ -208,6 +211,8 @@ <option value="$PROJECT_DIR$/src/test/js/gui/admin/EditProjectDialog-test.js" /> <option value="$PROJECT_DIR$/src/test/js/gui/admin/MapsAdminPanel-test.js" /> <option value="$PROJECT_DIR$/src/test/js/mocha-config.js" /> + <option value="$PROJECT_DIR$/src/test/js/minerva-test.js" /> + <option value="$PROJECT_DIR$/src/main/css/global.css" /> </list> </option> </component> @@ -219,6 +224,9 @@ <detection-done>true</detection-done> <sorting>DEFINITION_ORDER</sorting> </component> + <component name="NamedScopeManager"> + <scope name="Project" pattern="file[frontend-js]:src//*" /> + </component> <component name="NodeModulesDirectoryManager"> <handled-path value="$PROJECT_DIR$/node_modules" /> </component> @@ -348,6 +356,7 @@ <property name="HbShouldOpenHtmlAsHb" value="" /> <property name="nodejs.mocha.mocha_node_package_dir" value="$PROJECT_DIR$/node_modules/mocha" /> <property name="settings.editor.selected.configurable" value="preferences.sourceCode.JavaScript" /> + <property name="run.code.analysis.last.selected.profile" value="pProject Default" /> </component> <component name="RunDashboard"> <option name="ruleStates"> @@ -361,7 +370,7 @@ </list> </option> </component> - <component name="RunManager" selected="Mocha.MapsAdminPanel"> + <component name="RunManager" selected="npm.test"> <configuration name="MapsAdminPanel" type="mocha-javascript-test-runner" factoryName="Mocha" temporary="true" nameIsGenerated="true"> <node-interpreter>project</node-interpreter> <node-options /> @@ -413,6 +422,20 @@ <node-interpreter value="project" /> <envs /> </configuration> + <configuration name="minerva global" type="mocha-javascript-test-runner" factoryName="Mocha" temporary="true" nameIsGenerated="true"> + <node-interpreter>project</node-interpreter> + <node-options /> + <working-directory>$PROJECT_DIR$</working-directory> + <pass-parent-env>true</pass-parent-env> + <envs /> + <ui>bdd</ui> + <extra-mocha-options /> + <test-kind>SUITE</test-kind> + <test-file>$PROJECT_DIR$/src/test/js/minerva-test.js</test-file> + <test-names> + <name value="minerva global" /> + </test-names> + </configuration> <configuration name="test" type="js.build_tools.npm" factoryName="npm"> <package-json value="$PROJECT_DIR$/package.json" /> <command value="run" /> @@ -422,17 +445,19 @@ <node-interpreter value="project" /> <envs /> </configuration> - <list size="4"> + <list size="5"> <item index="0" class="java.lang.String" itemvalue="npm.test" /> <item index="1" class="java.lang.String" itemvalue="Mocha.MapsAdminPanel.onAddClicked" /> <item index="2" class="java.lang.String" itemvalue="Node.js.OverlayPanel.js" /> <item index="3" class="java.lang.String" itemvalue="Mocha.MapsAdminPanel" /> + <item index="4" class="java.lang.String" itemvalue="Mocha.minerva global" /> </list> <recent_temporary> - <list size="3"> - <item index="0" class="java.lang.String" itemvalue="Mocha.MapsAdminPanel" /> - <item index="1" class="java.lang.String" itemvalue="Mocha.MapsAdminPanel.onAddClicked" /> - <item index="2" class="java.lang.String" itemvalue="Node.js.OverlayPanel.js" /> + <list size="4"> + <item index="0" class="java.lang.String" itemvalue="Mocha.minerva global" /> + <item index="1" class="java.lang.String" itemvalue="Mocha.MapsAdminPanel" /> + <item index="2" class="java.lang.String" itemvalue="Mocha.MapsAdminPanel.onAddClicked" /> + <item index="3" class="java.lang.String" itemvalue="Node.js.OverlayPanel.js" /> </list> </recent_temporary> </component> @@ -452,7 +477,7 @@ <workItem from="1503501472332" duration="132000" /> <workItem from="1503501772627" duration="21000" /> <workItem from="1503502231792" duration="5017000" /> - <workItem from="1503560609163" duration="11800000" /> + <workItem from="1503560609163" duration="12204000" /> </task> <servers /> </component> @@ -466,30 +491,40 @@ <history-entry file="MapsAdminPanel - 2017.08.24 at 15h 18m 07s.xml"> <configuration name="MapsAdminPanel" configurationId="mocha-javascript-test-runner" /> </history-entry> + <history-entry file="MapsAdminPanel - 2017.08.24 at 15h 22m 20s.xml"> + <configuration name="MapsAdminPanel" configurationId="mocha-javascript-test-runner" /> + </history-entry> + <history-entry file="MapsAdminPanel - 2017.08.24 at 15h 22m 47s.xml"> + <configuration name="MapsAdminPanel" configurationId="mocha-javascript-test-runner" /> + </history-entry> <history-entry file="MapsAdminPanel_onAddClicked - 2017.08.24 at 14h 34m 51s.xml"> <configuration name="MapsAdminPanel.onAddClicked" configurationId="mocha-javascript-test-runner" /> </history-entry> <history-entry file="MapsAdminPanel_onAddClicked - 2017.08.24 at 14h 41m 09s.xml"> <configuration name="MapsAdminPanel.onAddClicked" configurationId="mocha-javascript-test-runner" /> </history-entry> + <history-entry file="minerva_global - 2017.08.24 at 15h 22m 56s.xml"> + <configuration name="minerva global" configurationId="mocha-javascript-test-runner" /> + </history-entry> </component> <component name="TimeTrackingManager"> - <option name="totallyTimeSpent" value="16970000" /> + <option name="totallyTimeSpent" value="17374000" /> </component> <component name="ToolWindowManager"> <frame x="-8" y="-8" width="1936" height="1176" extended-state="6" /> <editor active="true" /> <layout> - <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.18020834" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.5679475" sideWeight="0.33802083" order="7" side_tool="true" content_ui="tabs" /> - <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> - <window_info id="V8 CPU Profiling" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.34489223" sideWeight="0.66197914" order="0" side_tool="false" content_ui="tabs" /> <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" /> - <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.33833176" sideWeight="0.49791667" order="10" side_tool="false" content_ui="tabs" x="-170" y="502" width="1920" height="493" /> + <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33833176" sideWeight="0.49791667" order="10" side_tool="false" content_ui="tabs" x="-170" y="502" width="1920" height="493" /> <window_info id="npm" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" /> - <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" /> + <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.18020834" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> + <window_info id="Inspection Results" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.3298969" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" /> + <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> + <window_info id="V8 CPU Profiling" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.34489223" sideWeight="0.66197914" order="0" side_tool="false" content_ui="tabs" /> + <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="true" content_ui="tabs" /> <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> @@ -595,6 +630,7 @@ <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="249"> <caret line="45" column="2" lean-forward="false" selection-start-line="45" selection-start-column="2" selection-end-line="45" selection-end-column="2" /> + <folding /> </state> </provider> </entry> @@ -610,6 +646,7 @@ <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="412"> <caret line="26" column="38" lean-forward="false" selection-start-line="26" selection-start-column="38" selection-end-line="26" selection-end-column="38" /> + <folding /> </state> </provider> </entry> @@ -617,6 +654,7 @@ <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="208"> <caret line="93" column="3" lean-forward="false" selection-start-line="93" selection-start-column="3" selection-end-line="93" selection-end-column="3" /> + <folding /> </state> </provider> </entry> @@ -804,18 +842,6 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/main/js/minerva.js"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="-24"> - <caret line="650" column="19" lean-forward="false" selection-start-line="650" selection-start-column="19" selection-end-line="650" selection-end-column="19" /> - <folding> - <marker date="1503565102260" expanded="true" signature="18787:18846" ph="..." /> - <marker date="1503565102260" expanded="true" signature="22494:22553" ph="..." /> - <marker date="1503565102260" expanded="true" signature="23423:23482" ph="..." /> - </folding> - </state> - </provider> - </entry> <entry file="file://$PROJECT_DIR$/src/main/js/gui/admin/MapsAdminPanel.js"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="-24"> @@ -878,29 +904,68 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/test/js/minerva-test.js"> + <entry file="file://$PROJECT_DIR$/src/test/js/mocha-config.js"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="179"> - <caret line="519" column="32" lean-forward="false" selection-start-line="519" selection-start-column="32" selection-end-line="519" selection-end-column="32" /> + <state relative-caret-position="493"> + <caret line="29" column="22" lean-forward="false" selection-start-line="29" selection-start-column="22" selection-end-line="29" selection-end-column="22" /> <folding /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/src/test/js/gui/admin/MapsAdminPanel-test.js"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="80"> - <caret line="5" column="30" lean-forward="true" selection-start-line="5" selection-start-column="30" selection-end-line="5" selection-end-column="30" /> + <state relative-caret-position="51"> + <caret line="3" column="0" lean-forward="false" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" /> <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/src/test/js/mocha-config.js"> + <entry file="file://$PROJECT_DIR$/src/main/js/minerva.js"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="170"> - <caret line="10" column="0" lean-forward="false" selection-start-line="10" selection-start-column="0" selection-end-line="10" selection-end-column="0" /> + <state relative-caret-position="204"> + <caret line="66" column="23" lean-forward="false" selection-start-line="66" selection-start-column="23" selection-end-line="66" selection-end-column="23" /> + <folding> + <marker date="1503565102260" expanded="true" signature="18787:18846" ph="..." /> + <marker date="1503565102260" expanded="true" signature="22494:22553" ph="..." /> + <marker date="1503565102260" expanded="true" signature="23423:23482" ph="..." /> + </folding> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/test/js/minerva-test.js"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="136"> + <caret line="18" column="46" lean-forward="true" selection-start-line="18" selection-start-column="46" selection-end-line="18" selection-end-column="46" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/src/main/css/global.css"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="460"> + <caret line="352" column="17" lean-forward="true" selection-start-line="352" selection-start-column="17" selection-end-line="352" selection-end-column="17" /> <folding /> </state> </provider> </entry> </component> + <component name="masterDetails"> + <states> + <state key="ScopeChooserConfigurable.UI"> + <settings> + <last-edited>Project</last-edited> + <splitter-proportions> + <option name="proportions"> + <list> + <option value="0.2" /> + </list> + </option> + </splitter-proportions> + <order> + <scope name="Project" /> + </order> + </settings> + </state> + </states> + </component> </project> \ No newline at end of file diff --git a/frontend-js/src/test/js/gui/admin/MapsAdminPanel-test.js b/frontend-js/src/test/js/gui/admin/MapsAdminPanel-test.js index 388e434d659c5056962c93e2721384b212d15b77..0517e10f52437ac640f82b03400226b06861af8f 100644 --- a/frontend-js/src/test/js/gui/admin/MapsAdminPanel-test.js +++ b/frontend-js/src/test/js/gui/admin/MapsAdminPanel-test.js @@ -3,6 +3,8 @@ /* exported logger */ /* exported assert */ +require("../../mocha-config"); + var MapsAdminPanel = require('../../../../main/js/gui/admin/MapsAdminPanel'); var logger = require('../../logger'); @@ -10,68 +12,68 @@ var assert = require('assert'); describe('MapsAdminPanel', function () { - it('refresh', function () { - var mapTab; - var project; - return ServerConnector.getProject().then(function (result) { - project = result; - return ServerConnector.getConfiguration(); - }).then(function (configuration) { - mapTab = new MapsAdminPanel({ - element: testDiv, - project: project, - configuration: configuration, - }); - return mapTab.init(); - }).then(function () { - return mapTab.onRefreshClicked(); - }).then(function () { - return mapTab.destroy(); - }); + it('refresh', function () { + var mapTab; + var project; + return ServerConnector.getProject().then(function (result) { + project = result; + return ServerConnector.getConfiguration(); + }).then(function (configuration) { + mapTab = new MapsAdminPanel({ + element: testDiv, + project: project, + configuration: configuration, + }); + return mapTab.init(); + }).then(function () { + return mapTab.onRefreshClicked(); + }).then(function () { + return mapTab.destroy(); }); + }); - describe('onAddClicked', function () { - it('default', function () { - var mapTab; - var project; - return ServerConnector.getProject().then(function (result) { - project = result; - return ServerConnector.getConfiguration(); - }).then(function (configuration) { - mapTab = new MapsAdminPanel({ - element: testDiv, - project: project, - configuration: configuration, - }); - return mapTab.init(); - }).then(function () { - return mapTab.onAddClicked(); - }).then(function () { - return mapTab.destroy(); - }); + describe('onAddClicked', function () { + it('default', function () { + var mapTab; + var project; + return ServerConnector.getProject().then(function (result) { + project = result; + return ServerConnector.getConfiguration(); + }).then(function (configuration) { + mapTab = new MapsAdminPanel({ + element: testDiv, + project: project, + configuration: configuration, }); - it('close and reopen', function () { - var mapTab; - var project; - return ServerConnector.getProject().then(function (result) { - project = result; - return ServerConnector.getConfiguration(); - }).then(function (configuration) { - mapTab = new MapsAdminPanel({ - element: testDiv, - project: project, - configuration: configuration, - }); - return mapTab.init(); - }).then(function () { - return mapTab.onAddClicked(); - }).then(function () { - mapTab._addDialog.close(); - return mapTab.onAddClicked(); - }).then(function () { - return mapTab.destroy(); - }); + return mapTab.init(); + }).then(function () { + return mapTab.onAddClicked(); + }).then(function () { + return mapTab.destroy(); + }); + }); + it('close and reopen', function () { + var mapTab; + var project; + return ServerConnector.getProject().then(function (result) { + project = result; + return ServerConnector.getConfiguration(); + }).then(function (configuration) { + mapTab = new MapsAdminPanel({ + element: testDiv, + project: project, + configuration: configuration, }); + return mapTab.init(); + }).then(function () { + return mapTab.onAddClicked(); + }).then(function () { + mapTab._addDialog.close(); + return mapTab.onAddClicked(); + }).then(function () { + return mapTab.destroy(); + }); }); + }); }); diff --git a/frontend-js/src/test/js/minerva-test.js b/frontend-js/src/test/js/minerva-test.js index 329a3c846c2384f242a15cf6571eeb0119f397c7..63164e50c3a04420515df1aa560f03eb4585bf8f 100644 --- a/frontend-js/src/test/js/minerva-test.js +++ b/frontend-js/src/test/js/minerva-test.js @@ -15,527 +15,527 @@ var assert = chai.assert; var logger = require('./logger'); describe('minerva global', function () { - beforeEach(function () { - global.scriptDiv = document.createElement("script"); - global.GuiConnector = undefined; - global.ServerConnector = undefined; - document.body.appendChild(global.scriptDiv); + 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; + }); + + describe('create', function () { + it('default', function () { + var options = null; + return ServerConnectorMock.getProject().then(function (project) { + options = helper.createCustomMapOptions(project); + + return minerva.create(options); + }).then(function (result) { + assert.ok(result); + assert.equal(logger.getWarnings().length, 0); + return result.destroy(); + }); }); - - afterEach(function () { - document.body.removeChild(global.scriptDiv); - global.GuiConnector = GuiConnectorMock; - global.ServerConnector = ServerConnectorMock; + it('invalid projectId', function () { + var options = { + projectId: "unknownId", + element: testDiv, + }; + return minerva.create(options).then(function () { + assert.ok(false); + }, function (error) { + assert.ok(error.message.indexOf("Project with given id doesn't exist") >= 0); + }); }); - - describe('create', function () { - it('default', function () { - var options = null; - return ServerConnectorMock.getProject().then(function (project) { - options = helper.createCustomMapOptions(project); - - return minerva.create(options); - }).then(function (result) { - assert.ok(result); - assert.equal(logger.getWarnings().length, 0); - return result.destroy(); - }); - }); - it('invalid projectId', function () { - var options = { - projectId: "unknownId", - element: testDiv, - }; - return minerva.create(options).then(function () { - assert.ok(false); - }, function (error) { - assert.ok(error.message.indexOf("Project with given id doesn't exist") >= 0); - }); - }); - it('with overview', function () { - helper.setUrl("http://test/?id=complex_model_with_images"); - var customMap; - return ServerConnectorMock.getProject().then(function (project) { - var options = helper.createOptions(project); - - return minerva.create(options); - }).then(function (result) { - customMap = result; - assert.ok(result); - assert.equal(logger.getWarnings().length, 0); - var showOverviewButton = document.getElementsByName("showOverviewButton")[0]; - return showOverviewButton.onclick(); - }).then(function () { - return customMap.destroy(); - }); - }); + it('with overview', function () { + helper.setUrl("http://test/?id=complex_model_with_images"); + var customMap; + return ServerConnectorMock.getProject().then(function (project) { + var options = helper.createOptions(project); + + return minerva.create(options); + }).then(function (result) { + customMap = result; + assert.ok(result); + assert.equal(logger.getWarnings().length, 0); + var showOverviewButton = document.getElementsByName("showOverviewButton")[0]; + return showOverviewButton.onclick(); + }).then(function () { + return customMap.destroy(); + }); }); - - - it("showComments", function () { - var options = null; - var customMap; - return ServerConnectorMock.getProject().then(function (project) { - options = helper.createCustomMapOptions(project); - return minerva.create(options); - }).then(function (result) { - customMap = result; - var commentCheckbox = document.getElementsByName("commentCheckbox")[0]; - commentCheckbox.checked = true; - return commentCheckbox.onclick(); - }).then(function () { - assert.ok(ServerConnectorMock.getSessionData(options.getProject()).getShowComments()); - return customMap.destroy(); - }); + }); + + + it("showComments", function () { + var options = null; + var customMap; + return ServerConnectorMock.getProject().then(function (project) { + options = helper.createCustomMapOptions(project); + return minerva.create(options); + }).then(function (result) { + customMap = result; + var commentCheckbox = document.getElementsByName("commentCheckbox")[0]; + commentCheckbox.checked = true; + return commentCheckbox.onclick(); + }).then(function () { + assert.ok(ServerConnectorMock.getSessionData(options.getProject()).getShowComments()); + return customMap.destroy(); }); - - it("constructor with GET zoom param", function () { - helper.setUrl("http://test/?zoom=5"); - var options; - return ServerConnectorMock.getProject().then(function (project) { - options = helper.createCustomMapOptions(project); - return minerva.create(options); - }).then(function (result) { - var sessionData = ServerConnectorMock.getSessionData(options.getProject()); - assert.equal(sessionData.getZoomLevel(options.getProject().getModel()), 5); - return result.destroy(); - }); + }); + + it("constructor with GET zoom param", function () { + helper.setUrl("http://test/?zoom=5"); + var options; + return ServerConnectorMock.getProject().then(function (project) { + options = helper.createCustomMapOptions(project); + return minerva.create(options); + }).then(function (result) { + var sessionData = ServerConnectorMock.getSessionData(options.getProject()); + assert.equal(sessionData.getZoomLevel(options.getProject().getModel()), 5); + return result.destroy(); }); - - it("constructor with GET coord param", function () { - helper.setUrl("http://test/?x=5&y=6"); - var options; - return ServerConnectorMock.getProject().then(function (project) { - options = helper.createCustomMapOptions(project); - return minerva.create(options); - }).then(function (result) { - 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); - return result.destroy(); - }); + }); + + it("constructor with GET coord param", function () { + helper.setUrl("http://test/?x=5&y=6"); + var options; + return ServerConnectorMock.getProject().then(function (project) { + options = helper.createCustomMapOptions(project); + return minerva.create(options); + }).then(function (result) { + 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); + return result.destroy(); }); - - it('create with layout', function () { - var layout; - var project; - var customMap; - return ServerConnectorMock.getProject().then(function (result) { - project = result; - var options = helper.createCustomMapOptions(project); - - layout = project.getModel().getLayouts()[1]; - - helper.setUrl("http://test/?layout=" + layout.getName()); - - return minerva.create(options); - }).then(function (result) { - customMap = result; - assert.ok(result); - // input file is not available so it's the background - return result.getVisibleDataOverlays(); - }).then(function (visibleDataOverlays) { - // input file is available so it's not the background file but overlay - assert.equal(visibleDataOverlays.length, 0); - assert.equal(ServerConnectorMock.getSessionData(project).getSelectedBackgroundOverlay(), layout.getId()); - assert.equal(logger.getWarnings().length, 0); - return customMap.destroy(); - }); + }); + + it('create with layout', function () { + var layout; + var project; + var customMap; + return ServerConnectorMock.getProject().then(function (result) { + project = result; + var options = helper.createCustomMapOptions(project); + + layout = project.getModel().getLayouts()[1]; + + helper.setUrl("http://test/?layout=" + layout.getName()); + + return minerva.create(options); + }).then(function (result) { + customMap = result; + assert.ok(result); + // input file is not available so it's the background + return result.getVisibleDataOverlays(); + }).then(function (visibleDataOverlays) { + // input file is available so it's not the background file but overlay + assert.equal(visibleDataOverlays.length, 0); + assert.equal(ServerConnectorMock.getSessionData(project).getSelectedBackgroundOverlay(), layout.getId()); + assert.equal(logger.getWarnings().length, 0); + return customMap.destroy(); }); + }); - it('create with layout from session data', function () { - var layout; - return ServerConnectorMock.getProject().then(function (project) { - var options = helper.createCustomMapOptions(project); + it('create with layout from session data', function () { + var layout; + return ServerConnectorMock.getProject().then(function (project) { + var options = helper.createCustomMapOptions(project); - layout = project.getModel().getLayouts()[1]; + layout = project.getModel().getLayouts()[1]; - ServerConnectorMock.getSessionData(project).setSelectedBackgroundOverlay(layout.getId()); + ServerConnectorMock.getSessionData(project).setSelectedBackgroundOverlay(layout.getId()); - return minerva.create(options); - }).then(function (result) { - assert.equal(ServerConnectorMock.getSessionData().getSelectedBackgroundOverlay(), layout.getId()); - return result.destroy(); - }); + return minerva.create(options); + }).then(function (result) { + assert.equal(ServerConnectorMock.getSessionData().getSelectedBackgroundOverlay(), layout.getId()); + return result.destroy(); }); - - it('create with layout 2', function () { - helper.setUrl("http://test/?layout=xxx"); - var globalObject; - return ServerConnectorMock.getProject().then(function (project) { - var options = helper.createCustomMapOptions(project); - return minerva.create(options); - }).then(function (result) { - globalObject = result; - assert.ok(result); - return result.getVisibleDataOverlays(); - }).then(function (visibleDataOverlays) { - // input file is available so it's not the background file but overlay - assert.equal(visibleDataOverlays.length, 1); - assert.equal(logger.getWarnings().length, 0); - return globalObject.destroy(); - }); + }); + + it('create with layout 2', function () { + helper.setUrl("http://test/?layout=xxx"); + var globalObject; + return ServerConnectorMock.getProject().then(function (project) { + var options = helper.createCustomMapOptions(project); + return minerva.create(options); + }).then(function (result) { + globalObject = result; + assert.ok(result); + return result.getVisibleDataOverlays(); + }).then(function (visibleDataOverlays) { + // input file is available so it's not the background file but overlay + assert.equal(visibleDataOverlays.length, 1); + assert.equal(logger.getWarnings().length, 0); + return globalObject.destroy(); }); - - it('create with search overlay and GET search param', function () { - helper.setUrl("http://test/?search=s1"); - - var globalObject; - return ServerConnectorMock.getProject().then(function (project) { - var options = helper.createCustomMapOptions(project); - return minerva.create(options); - }).then(function (result) { - globalObject = result; - return result.getHighlightedBioEntities("search"); - }).then(function (elements) { - assert.ok(elements.length > 0); - return globalObject.destroy(); - }); + }); + + it('create with search overlay and GET search param', function () { + helper.setUrl("http://test/?search=s1"); + + var globalObject; + return ServerConnectorMock.getProject().then(function (project) { + var options = helper.createCustomMapOptions(project); + return minerva.create(options); + }).then(function (result) { + globalObject = result; + return result.getHighlightedBioEntities("search"); + }).then(function (elements) { + assert.ok(elements.length > 0); + return globalObject.destroy(); }); + }); - it('create with show sumbodel GET param', function () { - helper.setUrl("http://test/?submap=15781"); + it('create with show sumbodel GET param', function () { + helper.setUrl("http://test/?submap=15781"); - var project = helper.createProject(); - project.getModel().setId(15781); + var project = helper.createProject(); + project.getModel().setId(15781); - return ServerConnectorMock.getProject().then(function (project) { - var options = helper.createCustomMapOptions(project); + return ServerConnectorMock.getProject().then(function (project) { + var options = helper.createCustomMapOptions(project); - return minerva.create(options); - }).then(function(result){ - return result.destroy(); - }); + return minerva.create(options); + }).then(function (result) { + return result.destroy(); }); - - it("constructor with touch enabled", function () { - return ServerConnectorMock.getProject().then(function (project) { - var options = helper.createCustomMapOptions(project); - options.setCustomTouchInterface(true); - return minerva.create(options).then(function (result) { - assert.ok(result); - return result.destroy(); - }); - }); + }); + + it("constructor with touch enabled", function () { + return ServerConnectorMock.getProject().then(function (project) { + var options = helper.createCustomMapOptions(project); + options.setCustomTouchInterface(true); + return minerva.create(options).then(function (result) { + assert.ok(result); + return result.destroy(); + }); }); - - it('add search listener', function () { - var callbackOk = false; - var globalResult; - return ServerConnectorMock.getProject().then(function (project) { - var options = helper.createCustomMapOptions(project); - options.setDebug(true); - return minerva.create(options); - }).then(function (result) { - globalResult = result; - - result.addListener({ - dbOverlayName: "search", - type: "onSearch", - callback: function (elements) { - assert.ok(elements.length > 0); - assert.ok(elements[0].length !== undefined, "Array of arrays expected as onSearch result"); - callbackOk = true; - } - }); - return result.customMap.getOverlayByName("search").searchByQuery("s1"); - }).then(function () { - assert.ok(callbackOk); - callbackOk = false; - return globalResult.customMap.getOverlayByName("search").searchByQuery("s1"); - }).then(function () { - assert.ok(callbackOk); - callbackOk = false; - var params = { - coordinates: new google.maps.Point(184.79, 365.76), - zoom: 2, - modelId: globalResult.getProject().getModel().getId(), - }; - return globalResult.customMap.getOverlayByName("search").searchByCoordinates(params); - }).then(function () { - assert.ok(callbackOk); - return globalResult.destroy(); - }); + }); + + it('add search listener', function () { + var callbackOk = false; + var globalResult; + return ServerConnectorMock.getProject().then(function (project) { + var options = helper.createCustomMapOptions(project); + options.setDebug(true); + return minerva.create(options); + }).then(function (result) { + globalResult = result; + + result.addListener({ + dbOverlayName: "search", + type: "onSearch", + callback: function (elements) { + assert.ok(elements.length > 0); + assert.ok(elements[0].length !== undefined, "Array of arrays expected as onSearch result"); + callbackOk = true; + } + }); + return result.customMap.getOverlayByName("search").searchByQuery("s1"); + }).then(function () { + assert.ok(callbackOk); + callbackOk = false; + return globalResult.customMap.getOverlayByName("search").searchByQuery("s1"); + }).then(function () { + assert.ok(callbackOk); + callbackOk = false; + var params = { + coordinates: new google.maps.Point(184.79, 365.76), + zoom: 2, + modelId: globalResult.getProject().getModel().getId(), + }; + return globalResult.customMap.getOverlayByName("search").searchByCoordinates(params); + }).then(function () { + assert.ok(callbackOk); + return globalResult.destroy(); }); - - it('getProject', function () { - return ServerConnectorMock.getProject().then(function (project) { - var options = helper.createCustomMapOptions(project); - return minerva.create(options); - }).then(function (result) { - assert.equal(result.getProject().getProjectId(), "sample"); - return result.destroy(); - }); + }); + + it('getProject', function () { + return ServerConnectorMock.getProject().then(function (project) { + var options = helper.createCustomMapOptions(project); + return minerva.create(options); + }).then(function (result) { + assert.equal(result.getProject().getProjectId(), "sample"); + return result.destroy(); }); - - it("simple constructor", function () { - var options = { - projectId: "sample", - element: testDiv - }; - return minerva.create(options).then(function (result) { - assert.ok(result); - result.destroy(); - }); + }); + + it("simple constructor", function () { + var options = { + projectId: "sample", + element: testDiv + }; + return minerva.create(options).then(function (result) { + assert.ok(result); + result.destroy(); }); - - it("getBioEntityById", function () { - var options = { - projectId: "sample", - element: testDiv - }; - var globalResult; - return minerva.create(options).then(function (result) { - globalResult = result; - return result.getBioEntityById({ - id: 329177, - modelId: 15781, - type: "ALIAS" - }); - }).then(function (result) { - assert.ok(result); - }).then(function () { - globalResult.destroy(); - }); + }); + + it("getBioEntityById", function () { + var options = { + projectId: "sample", + element: testDiv + }; + var globalResult; + return minerva.create(options).then(function (result) { + globalResult = result; + return result.getBioEntityById({ + id: 329177, + modelId: 15781, + type: "ALIAS" + }); + }).then(function (result) { + assert.ok(result); + }).then(function () { + globalResult.destroy(); }); - - it("getBioEntityById for reaction", function () { - var options = { - projectId: "sample", - element: testDiv - }; - var globalResult; - return minerva.create(options).then(function (result) { - globalResult = result; - return result.getBioEntityById({ - id: 153508, - modelId: 15781, - type: "REACTION" - }); - }).then(function (result) { - assert.ok(result); - assert.ok(result.getReactants()[0] instanceof Alias); - }).then(function () { - globalResult.destroy(); - }); + }); + + it("getBioEntityById for reaction", function () { + var options = { + projectId: "sample", + element: testDiv + }; + var globalResult; + return minerva.create(options).then(function (result) { + globalResult = result; + return result.getBioEntityById({ + id: 153508, + modelId: 15781, + type: "REACTION" + }); + }).then(function (result) { + assert.ok(result); + assert.ok(result.getReactants()[0] instanceof Alias); + }).then(function () { + globalResult.destroy(); }); - - it("showElement", function () { - var options = { - projectId: "sample", - element: testDiv - }; - var globalResult; - var elementToShow = { - element: { - id: 329171, - modelId: 15781, - type: "ALIAS" - }, - type: "ICON", - }; - - var elementToShow2 = { - element: { - id: 329171, - modelId: 15781, - type: "ALIAS" - }, - type: "SURFACE", - options: { - color: "#FF0000", - } - }; - return minerva.create(options).then(function (result) { - globalResult = result; - return globalResult.showBioEntity(elementToShow); - }).then(function () { - return globalResult.getHighlightedBioEntities(); - }).then(function (elements) { - assert.equal(elements.length, 1); - return globalResult.showBioEntity(elementToShow2); - }).then(function () { - return globalResult.getHighlightedBioEntities(); - }).then(function (elements) { - assert.equal(elements.length, 2); - return globalResult.hideBioEntity(elementToShow); - }).then(function () { - return globalResult.getHighlightedBioEntities(); - }).then(function (elements) { - assert.equal(elements.length, 1); - return globalResult.hideBioEntity(elementToShow2); - }).then(function () { - return globalResult.getHighlightedBioEntities(); - }).then(function (elements) { - assert.equal(elements.length, 0); - globalResult.destroy(); - }); + }); + + it("showElement", function () { + var options = { + projectId: "sample", + element: testDiv + }; + var globalResult; + var elementToShow = { + element: { + id: 329171, + modelId: 15781, + type: "ALIAS" + }, + type: "ICON", + }; + + var elementToShow2 = { + element: { + id: 329171, + modelId: 15781, + type: "ALIAS" + }, + type: "SURFACE", + options: { + color: "#FF0000", + } + }; + return minerva.create(options).then(function (result) { + globalResult = result; + return globalResult.showBioEntity(elementToShow); + }).then(function () { + return globalResult.getHighlightedBioEntities(); + }).then(function (elements) { + assert.equal(elements.length, 1); + return globalResult.showBioEntity(elementToShow2); + }).then(function () { + return globalResult.getHighlightedBioEntities(); + }).then(function (elements) { + assert.equal(elements.length, 2); + return globalResult.hideBioEntity(elementToShow); + }).then(function () { + return globalResult.getHighlightedBioEntities(); + }).then(function (elements) { + assert.equal(elements.length, 1); + return globalResult.hideBioEntity(elementToShow2); + }).then(function () { + return globalResult.getHighlightedBioEntities(); + }).then(function (elements) { + assert.equal(elements.length, 0); + globalResult.destroy(); }); - - it("showElement twice", function () { - var options = { - projectId: "sample", - element: testDiv - }; - var globalResult; - var elementToShow = { - element: { - id: 329171, - modelId: 15781, - type: "ALIAS" - }, - type: "ICON", - }; - var elementToShow2 = { - element: { - id: 329171, - modelId: 15781, - type: "ALIAS" - }, - type: "SURFACE", - options: { - color: "#FF0000", - } - }; - - return minerva.create(options).then(function (result) { - globalResult = result; - globalResult.showBioEntity(elementToShow); - return globalResult.showBioEntity(elementToShow2); - }).then(function () { - globalResult.destroy(); - assert.ok(false, "Should be rejected due to fact that there is show in progress"); - }, function (error) { - assert.ok(error.message.indexOf("wait until previous Promise for showBioEntity/hideBioEntity is resolved") >= 0); - globalResult.destroy(); - }); + }); + + it("showElement twice", function () { + var options = { + projectId: "sample", + element: testDiv + }; + var globalResult; + var elementToShow = { + element: { + id: 329171, + modelId: 15781, + type: "ALIAS" + }, + type: "ICON", + }; + var elementToShow2 = { + element: { + id: 329171, + modelId: 15781, + type: "ALIAS" + }, + type: "SURFACE", + options: { + color: "#FF0000", + } + }; + + return minerva.create(options).then(function (result) { + globalResult = result; + globalResult.showBioEntity(elementToShow); + return globalResult.showBioEntity(elementToShow2); + }).then(function () { + globalResult.destroy(); + assert.ok(false, "Should be rejected due to fact that there is show in progress"); + }, function (error) { + assert.ok(error.message.indexOf("wait until previous Promise for showBioEntity/hideBioEntity is resolved") >= 0); + globalResult.destroy(); }); - - it("setCenter", function () { - var options = { - projectId: "sample", - element: testDiv - }; - var globalResult; - return minerva.create(options).then(function (result) { - globalResult = result; - return result.setCenter({ - modelId: 15781, - x: 10, - y: 20, - }); - }).then(function () { - var sessionData = ServerConnectorMock.getSessionData(globalResult.getProject()); - var center = sessionData.getCenter(globalResult.getProject().getModel()); - assert.ok(center instanceof google.maps.Point); - assert.closeTo(parseFloat(center.x), 10, Helper.EPSILON); - assert.closeTo(parseFloat(center.y), 20, Helper.EPSILON); - }).then(function () { - globalResult.destroy(); - }); + }); + + it("setCenter", function () { + var options = { + projectId: "sample", + element: testDiv + }; + var globalResult; + return minerva.create(options).then(function (result) { + globalResult = result; + return result.setCenter({ + modelId: 15781, + x: 10, + y: 20, + }); + }).then(function () { + var sessionData = ServerConnectorMock.getSessionData(globalResult.getProject()); + var center = sessionData.getCenter(globalResult.getProject().getModel()); + assert.ok(center instanceof google.maps.Point); + assert.closeTo(parseFloat(center.x), 10, Helper.EPSILON); + assert.closeTo(parseFloat(center.y), 20, Helper.EPSILON); + }).then(function () { + globalResult.destroy(); }); - - it("setZoom", function () { - var options = { - projectId: "sample", - element: testDiv - }; - var globalResult; - return minerva.create(options).then(function (result) { - globalResult = result; - return result.setZoom({ - modelId: 15781, - zoom: 10, - }); - }).then(function () { - var sessionData = ServerConnectorMock.getSessionData(globalResult.getProject()); - var zoom = sessionData.getZoomLevel(globalResult.getProject().getModel()); - assert.equal(zoom, 10); - }).then(function () { - globalResult.destroy(); - }); + }); + + it("setZoom", function () { + var options = { + projectId: "sample", + element: testDiv + }; + var globalResult; + return minerva.create(options).then(function (result) { + globalResult = result; + return result.setZoom({ + modelId: 15781, + zoom: 10, + }); + }).then(function () { + var sessionData = ServerConnectorMock.getSessionData(globalResult.getProject()); + var zoom = sessionData.getZoomLevel(globalResult.getProject().getModel()); + assert.equal(zoom, 10); + }).then(function () { + globalResult.destroy(); }); - - it("getConfiguration", function () { - var options = { - projectId: "sample", - element: testDiv - }; - var globalResult; - return minerva.create(options).then(function (result) { - globalResult = result; - return result.getConfiguration(); - }).then(function (conf) { - assert.ok(conf.getElementTypes().length > 0); - }).then(function () { - globalResult.destroy(); - }); + }); + + it("getConfiguration", function () { + var options = { + projectId: "sample", + element: testDiv + }; + var globalResult; + return minerva.create(options).then(function (result) { + globalResult = result; + return result.getConfiguration(); + }).then(function (conf) { + assert.ok(conf.getElementTypes().length > 0); + }).then(function () { + globalResult.destroy(); }); - - it("getReactionByParticipantId", function () { - var ie = { - modelId: 15781, - type: "ALIAS", - id: 329167 - }; - - var options = { - projectId: "sample", - element: testDiv - }; - var globalResult; - return minerva.create(options).then(function (result) { - globalResult = result; - return result.getReactionsWithElement(ie); - }).then(function (reactions) { - assert.equal(reactions.length, 5); - }).then(function () { - globalResult.destroy(); - }); - + }); + + it("getReactionByParticipantId", function () { + var ie = { + modelId: 15781, + type: "ALIAS", + id: 329167 + }; + + var options = { + projectId: "sample", + element: testDiv + }; + var globalResult; + return minerva.create(options).then(function (result) { + globalResult = result; + return result.getReactionsWithElement(ie); + }).then(function (reactions) { + assert.equal(reactions.length, 5); + }).then(function () { + globalResult.destroy(); }); - it('create Export', function () { - var options = null; - return ServerConnectorMock.getProject().then(function (project) { - options = helper.createCustomMapOptions(project); + }); - return minerva.createExport(options); - }).then(function (result) { - assert.ok(result); - assert.equal(logger.getWarnings().length, 0); - }); - }); + it('create Export', function () { + var options = null; + return ServerConnectorMock.getProject().then(function (project) { + options = helper.createCustomMapOptions(project); - it('create Admin', function () { - var options = null; - return ServerConnectorMock.getProject().then(function (project) { - options = helper.createCustomMapOptions(project); - - return minerva.createAdmin(options); - }).then(function (result) { - assert.ok(result); - assert.equal(logger.getWarnings().length, 0); - return result.destroy(); - }); + return minerva.createExport(options); + }).then(function (result) { + assert.ok(result); + assert.equal(logger.getWarnings().length, 0); + }); + }); + + it('create Admin', function () { + var options = null; + return ServerConnectorMock.getProject().then(function (project) { + options = helper.createCustomMapOptions(project); + + return minerva.createAdmin(options); + }).then(function (result) { + assert.ok(result); + assert.equal(logger.getWarnings().length, 0); + return result.destroy(); }); - it("getAllBioEntities", function () { - var options = { - projectId: "sample", - element: testDiv - }; - var globalResult; - return minerva.create(options).then(function (result) { - globalResult = result; - return result.getAllBioEntities(); - }).then(function (result) { - assert.ok(result); - assert.ok(result.length > 0); - }).then(function () { - globalResult.destroy(); - }); + }); + it("getAllBioEntities", function () { + var options = { + projectId: "sample", + element: testDiv + }; + var globalResult; + return minerva.create(options).then(function (result) { + globalResult = result; + return result.getAllBioEntities(); + }).then(function (result) { + assert.ok(result); + assert.ok(result.length > 0); + }).then(function () { + globalResult.destroy(); }); + }); }); diff --git a/frontend-js/src/test/js/mocha-config.js b/frontend-js/src/test/js/mocha-config.js index 98c0b6e7367468859c877f17980cc7b9dadaac7f..39c20269640c6406122587e0952ba6d581425280 100644 --- a/frontend-js/src/test/js/mocha-config.js +++ b/frontend-js/src/test/js/mocha-config.js @@ -8,136 +8,136 @@ var assert = chai.assert; var Helper = require('./Helper'); +// ----------------------------- + +var logger = require('./logger'); + +function removeCookies() { + var cookies = Cookies.get(); + for (var cookie in cookies) { + Cookies.remove(cookie); + } +} + +function mockBootstrap() { + $.fn.typeahead = function () { + logger.debug("Mock typeahead function call"); + }; +} + +before(function () { // GLOBAL configuration -global.navigator = { + global.navigator = { userAgent: 'node.js', appName: 'MinervaUnitTest', appVersion: '0.0.1', -}; + }; -var jsdom = require('jsdom'); -global.dom = new jsdom.JSDOM(); -global.window = global.dom.window; -global.document = window.document; + var jsdom = require('jsdom'); + global.dom = new jsdom.JSDOM(); + global.window = global.dom.window; + global.document = window.document; -global.$ = require('jQuery'); -global.jQuery = $; -global.window.$ = $; + global.$ = require('jQuery'); + global.jQuery = $; + global.window.$ = $; // additions to jsdom implementations: -global.Option = window.Option; -global.Blob = window.Blob; -global.MouseEvent = window.MouseEvent; -global.FileReader = window.FileReader; + global.Option = window.Option; + global.Blob = window.Blob; + global.MouseEvent = window.MouseEvent; + global.FileReader = window.FileReader; -var originalCreateElement = document.createElement; -document.createElement = function (arg) { + var originalCreateElement = document.createElement; + document.createElement = function (arg) { var result = originalCreateElement.call(this, arg); // woraround for: https://github.com/tmpvar/jsdom/issues/961 if ("li" === arg) { - result.dataset = []; + result.dataset = []; } return result; -}; + }; -window.open = function () { + window.open = function () { var result = {}; result.focus = function () { }; return result; -}; -window.URL.createObjectURL = function () { + }; + window.URL.createObjectURL = function () { -}; + }; // pileup is using heavily some browser defined javascript -var pileup = require('pileup'); -pileup.create = function () { + var pileup = require('pileup'); + pileup.create = function () { return { - destroy: function () { - } + destroy: function () { + } }; -}; -pileup.formats.twoBit = function () { + }; + pileup.formats.twoBit = function () { return {}; -}; -pileup.formats.bigBed = function () { + }; + pileup.formats.bigBed = function () { return {}; -}; + }; // --- -require('jquery-ui-dist/jquery-ui.js'); - -require("bootstrap"); + require('jquery-ui-dist/jquery-ui.js'); -require('datatables.net')(window, $); + require("bootstrap"); -global.google = require('./google-map-mock'); + require('datatables.net')(window, $); -global.GuiConnector = require('./GuiConnector-mock'); -global.ServerConnector = require('./ServerConnector-mock'); + global.google = require('./google-map-mock'); -// ----------------------------- - -var logger = require('./logger'); - -function removeCookies() { - var cookies = Cookies.get(); - for (var cookie in cookies) { - Cookies.remove(cookie); - } -} - -function mockBootstrap() { - $.fn.typeahead = function () { - logger.debug("Mock typeahead function call"); - }; -} + global.GuiConnector = require('./GuiConnector-mock'); + global.ServerConnector = require('./ServerConnector-mock'); -before(function () { - Promise.longStackTraces(); + Promise.longStackTraces(); - mockBootstrap(); + mockBootstrap(); }); beforeEach(function () { - window.onresize = undefined; + window.onresize = undefined; - logger.flushBuffer(); + logger.flushBuffer(); - removeCookies(); + removeCookies(); - ServerConnector.init(); + ServerConnector.init(); - ServerConnector.getSessionData(null).setToken("MOCK_TOKEN_ID"); - ServerConnector.getSessionData(null).setLogin("anonymous"); + ServerConnector.getSessionData(null).setToken("MOCK_TOKEN_ID"); + ServerConnector.getSessionData(null).setLogin("anonymous"); - global.testDiv = document.createElement("div"); - global.testDiv.id = "test"; - document.body.appendChild(testDiv); + global.testDiv = document.createElement("div"); + global.testDiv.id = "test"; + document.body.appendChild(testDiv); - return ServerConnector.getConfiguration().then(function (configuration) { - global.helper = new Helper(configuration); - helper.setUrl("http://test/"); - GuiConnector.init(); - }); + return ServerConnector.getConfiguration().then(function (configuration) { + global.helper = new Helper(configuration); + helper.setUrl("http://test/"); + GuiConnector.init(); + }); }); afterEach(function () { - document.body.removeChild(global.testDiv); - delete global.testDiv; - if (this.currentTest.state !== 'failed') { - if (document.body.hasChildNodes()) { - var content = document.body.innerHTML; - document.body.innerHTML = ""; - this.test.error(new Error("Test didn't left clean document. Found: " + content)); - } else if ($._data(window, "events").resize) { - logger.debug($._data(window, "events").resize); - this.test.error(new Error("Test didn't left clean resize events handlers.")); - } + document.body.removeChild(global.testDiv); + delete global.testDiv; + if (this.currentTest.state !== 'failed') { + if (document.body.hasChildNodes()) { + var content = document.body.innerHTML; + document.body.innerHTML = ""; + this.test.error(new Error("Test didn't left clean document. Found: " + content)); + } else if ($._data(window, "events").resize) { + logger.debug($._data(window, "events").resize); + this.test.error(new Error("Test didn't left clean resize events handlers.")); } + } });