diff --git a/js/apps/system/aardvark/GruntFile.js b/js/apps/system/aardvark/GruntFile.js index 3a4cf06084..21dd99be0c 100644 --- a/js/apps/system/aardvark/GruntFile.js +++ b/js/apps/system/aardvark/GruntFile.js @@ -163,6 +163,12 @@ 'clusterFrontend/scss/{,*/}*.{scss,sass}', ], tasks: ['sass:dev'] + }, + concat_in_order: { + files: [ + 'frontend/js/{,*/}*.js' + ], + tasks: ['concat_in_order:default'] } } }); @@ -172,8 +178,13 @@ grunt.registerTask('default', [ 'sass:dev', 'concat_in_order:default', + 'watch' + ]); + + grunt.registerTask('deploy', [ + 'sass:dist', + 'concat_in_order:default', 'uglify:dist' -// 'watch' ]); }; diff --git a/js/apps/system/aardvark/frontend/js/arango/templateEngine.js b/js/apps/system/aardvark/frontend/js/arango/templateEngine.js index 6d46d294a8..fddcd20fba 100644 --- a/js/apps/system/aardvark/frontend/js/arango/templateEngine.js +++ b/js/apps/system/aardvark/frontend/js/arango/templateEngine.js @@ -2,17 +2,21 @@ /*global EJS, window, _, $*/ (function() { "use strict"; - var TemplateEngine = function() { - var exports = {}; - exports.createTemplate = function(id) { - var template = $("#" + id.replace(".", "\\.")).html(); - return { - render: function(params) { - return _.template(template, params); - } + // For tests the templates are loaded some where else. + // We need to use a different engine there. + if (!window.hasOwnProperty("TEST_BUILD")) { + var TemplateEngine = function() { + var exports = {}; + exports.createTemplate = function(id) { + var template = $("#" + id.replace(".", "\\.")).html(); + return { + render: function(params) { + return _.template(template, params); + } + }; }; + return exports; }; - return exports; - }; - window.templateEngine = new TemplateEngine(); + window.templateEngine = new TemplateEngine(); + } }()); diff --git a/js/apps/system/aardvark/frontend/js/lib/joi.browser.js b/js/apps/system/aardvark/frontend/js/lib/joi.browser.js index 87b123e644..acf063be84 100644 --- a/js/apps/system/aardvark/frontend/js/lib/joi.browser.js +++ b/js/apps/system/aardvark/frontend/js/lib/joi.browser.js @@ -3594,7 +3594,18 @@ var SPECIALS = '()<>[]:;@\\,."'; // matches valid IPv4 addresses from the end of a string var IPv4_REGEX = /\b(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/; -var IPv6_REGEX = /^[a-fA-F\d]{0,4}$/, IPv6_REGEX_TEST = IPv6_REGEX.test.bind(IPv6_REGEX); + + +// ---- Modification ----- +// Removed for Karma tests +var IPv6_REGEX = /^[a-fA-F\d]{0,4}$/; +var IPv6_REGEX_TEST; +if (!window.hasOwnProperty("TEST_BUILD")) { + IPv6_REGEX_TEST = IPv6_REGEX.test.bind(IPv6_REGEX); +} + +// +// ---- End of Modification ----- /** * Get the largest number in the array. @@ -7175,4 +7186,4 @@ function hasOwnProperty(obj, prop) { },{"./support/isBuffer":30,"_process":29,"inherits":27}],"joi":[function(require,module,exports){ arguments[4][16][0].apply(exports,arguments) },{"./lib":10}]},{},[])("joi") -}); \ No newline at end of file +}); diff --git a/js/apps/system/aardvark/frontend/js/routers/startApp.js b/js/apps/system/aardvark/frontend/js/routers/startApp.js index 50a269e176..f2480426b4 100644 --- a/js/apps/system/aardvark/frontend/js/routers/startApp.js +++ b/js/apps/system/aardvark/frontend/js/routers/startApp.js @@ -3,11 +3,13 @@ (function() { "use strict"; - - $(document).ready(function() { - window.App = new window.Router(); - Backbone.history.start(); - window.App.handleResize(); - }); + // We have to start the app only in production mode, not in test mode + if (!window.hasOwnProperty("TEST_BUILD")) { + $(document).ready(function() { + window.App = new window.Router(); + Backbone.history.start(); + window.App.handleResize(); + }); + } }()); diff --git a/js/apps/system/aardvark/frontend/js/views/foxxInstalledView.js b/js/apps/system/aardvark/frontend/js/views/foxxInstalledView.js deleted file mode 100644 index f2ddd8d661..0000000000 --- a/js/apps/system/aardvark/frontend/js/views/foxxInstalledView.js +++ /dev/null @@ -1,512 +0,0 @@ -/*jshint browser: true */ -/*jshint unused: false */ -/*global Backbone, $, window, _, templateEngine, alert*/ - -(function() { - "use strict"; - function splitSnakeCase(snakeCase) { - var str = snakeCase.replace(/([a-z])([A-Z])/g, "$1 $2"); - str = str.replace(/([a-z])([0-9])/gi, "$1 $2"); - str = str.replace(/_+/, " "); - return _.map(str.split(/\s+/), function(s) { - return s.charAt(0).toUpperCase() + s.slice(1).toLowerCase(); - }).join(" "); - } - window.FoxxInstalledView = Backbone.View.extend({ - tagName: "div", - className: "tile", - template: templateEngine.createTemplate("foxxInstalledView.ejs"), - - events: { - //"click .install": "installDialog", - //"click .purge": "removeDialog", - "click .icon_arangodb_settings2": "infoDialog" - }, - - renderVersion: function(e) { - var name = this.model.get("name"), - selectOptions = this.model.get("selectOptions"), - versionToRender = $("#"+name+"Select").val(); - this.model.set("activeVersion", versionToRender); - - var toRender = this.model.collection.findWhere({ - name: name, - version: versionToRender - }); - - }, - - initialize: function(){ - _.bindAll(this, "render"); - var buttonConfig = [ - window.modalView.createSuccessButton( - "Install", this.install.bind(this) - ) - ]; - var buttonPurgeConfig = [ - window.modalView.createDeleteButton( - "Remove", this.confirmRemovalSingle.bind(this) - ) - ]; - var buttonInfoConfig = [ - window.modalView.createDeleteButton( - "Remove", this.confirmRemovalSingle.bind(this) - ), - window.modalView.createSuccessButton( - "Install", this.installDialog.bind(this) - ) - ]; - var buttonInfoConfigUpdate = [ - window.modalView.createDeleteButton( - "Remove", this.confirmRemovalSingle.bind(this) - ), - window.modalView.createSuccessButton( - "Update", this.update.bind(this) - ), - window.modalView.createSuccessButton( - "Install", this.installDialog.bind(this) - ) - ]; - var buttonInfoMultipleVersionsConfig = [ - window.modalView.createDeleteButton( - "Remove All", this.confirmRemovalAll.bind(this) - ), - window.modalView.createDeleteButton( - "Remove", this.confirmRemovalSingle.bind(this) - ), - window.modalView.createSuccessButton( - "Install", this.installDialog.bind(this) - ) - ]; - var buttonInfoMultipleVersionsConfigUpdate = [ - window.modalView.createDeleteButton( - "Remove All", this.confirmRemovalAll.bind(this) - ), - window.modalView.createDeleteButton( - "Remove", this.confirmRemovalSingle.bind(this) - ), - window.modalView.createSuccessButton( - "Update", this.update.bind(this) - ), - window.modalView.createSuccessButton( - "Install", this.installDialog.bind(this) - ) - ]; - this.showMod = window.modalView.show.bind( - window.modalView, - "modalTable.ejs", - "Install Application", - buttonConfig - ); - this.showInfoMod = window.modalView.show.bind( - window.modalView, - "modalTable.ejs", - "Application Settings", - buttonInfoConfig - ); - this.showInfoModUpdate = window.modalView.show.bind( - window.modalView, - "modalTable.ejs", - "Application Settings", - buttonInfoConfigUpdate - ); - this.showInfoMultipleVersionsMod = window.modalView.show.bind( - window.modalView, - "modalTable.ejs", - "Application Settings", - buttonInfoMultipleVersionsConfig - ); - this.showInfoMultipleVersionsModUpdate = window.modalView.show.bind( - window.modalView, - "modalTable.ejs", - "Application Settings", - buttonInfoMultipleVersionsConfigUpdate - ); - this.showPurgeMod = window.modalView.show.bind( - window.modalView, - "modalTable.ejs", - "Remove Application", - buttonPurgeConfig - ); - this.appsView = this.options.appsView; - }, - - //add select here too - fillPurgeValues: function(mountinfo) { - var list = [], - isSystem, - mountvars = []; - if (this.model.get("isSystem")) { - isSystem = "Yes"; - } else { - isSystem = "No"; - } - list.push(window.modalView.createReadOnlyEntry( - "id_name", "Name", this.model.get("name") - )); - if (this.model.get("selectOptions")) { - list.push(window.modalView.createSelectEntry( - "foxx-version", - "Version", - "", - "Select version of the Foxx application", - this.model.get("selectOptions") - )); - } - else { - list.push(window.modalView.createReadOnlyEntry( - "id_version", "Version", this.model.get("version") - )); - } - list.push(window.modalView.createReadOnlyEntry( - "id_system", "System", isSystem - )); - list.push(window.modalView.createReadOnlyEntry( - "id_just_info", "Info", "All mount points will be unmounted and removed" - )); - if (mountinfo) { - _.each(mountinfo, function(m) { - mountvars.push(m.mount); - }); - - list.push(window.modalView.createReadOnlyEntry( - "id_just_mountinfo", "Mount-points", JSON.stringify(mountvars) - )); - } - return list; - }, - - fillValues: function() { - var list = [], - isSystem; - if (this.model.get("isSystem")) { - isSystem = "Yes"; - } else { - isSystem = "No"; - } - list.push(window.modalView.createReadOnlyEntry( - "id_name", "Name", this.model.get("name") - )); - list.push(window.modalView.createTextEntry( - "mount-point", "Mount", "/" + this.model.get("name"), - "The path where the app can be reached.", - "mount-path", - true - )); - - var configs = this.model.get("manifest").configuration; - if (configs && _.keys(configs).length) { - _.each(_.keys(configs), function(key) { - var opt = configs[key]; - var prettyKey = opt.label || splitSnakeCase(key); - if (opt.type === "boolean") { - list.push(window.modalView.createCheckboxEntry( - "foxx_configs_" + key, - prettyKey, - true, - opt.description, - opt.default - )); - } else { - list.push(window.modalView.createTextEntry( - "foxx_configs_" + key, - prettyKey, - opt.default === undefined ? "" : opt.default, - opt.description, - splitSnakeCase(key).toLowerCase().replace(/\s+/g, "-"), - opt.default === undefined - )); - } - }); - } - if (this.model.get("selectOptions")) { - list.push(window.modalView.createSelectEntry( - "foxx-version", - "Version", - "", - "Select version of the Foxx application", - this.model.get("selectOptions") - )); - } - else { - list.push(window.modalView.createReadOnlyEntry( - "id_version", "Version", this.model.get("version") - )); - } - list.push(window.modalView.createReadOnlyEntry( - "id_system", "System", isSystem - )); - return list; - }, - - fillInfoValues: function() { - var list = [], - isSystem; - if (this.model.get("isSystem")) { - isSystem = "Yes"; - } else { - isSystem = "No"; - } - list.push(window.modalView.createReadOnlyEntry( - "id_name", "Name", this.model.get("name") - )); - list.push(window.modalView.createReadOnlyEntry( - "id_description", "Description", this.model.get("description") - )); - list.push(window.modalView.createReadOnlyEntry( - "id_author", "Author", this.model.get("author") - )); - if (this.model.get("selectOptions")) { - list.push(window.modalView.createSelectEntry( - "foxx-version", - "Version", - "", - "Select version of the Foxx application", - this.model.get("selectOptions") - )); - } - else { - list.push(window.modalView.createReadOnlyEntry( - "id_version", "Version", this.model.get("version") - )); - } - list.push(window.modalView.createReadOnlyEntry( - "id_system", "System", isSystem - )); - if (this.model.get("git")) { - list.push(window.modalView.createReadOnlyEntry( - "id_git", "Git", this.model.get("git") - )); - } - return list; - }, - - removeDialog: function(event) { - event.stopPropagation(); - var name = this.model.get("name"); - var mountinfo = this.model.collection.mountInfo(name); - this.showPurgeMod(this.fillPurgeValues(mountinfo)); - }, - - confirmRemovalSingle: function(event) { - - var version, self = this; - - if (this.model.get("versions")) { - version = $("#foxx-version").val(); - } - else { - version = this.model.get("version"); - } - - //find correct app install version - var toDelete = this.model.collection.findWhere({ - name: self.model.get("name"), - version: version - }); - - var name = toDelete.get("app"); - var result = toDelete.collection.purgeFoxx(name); - - if (result === true) { - window.modalView.hide(); - window.App.applicationsView.reload(); - } - }, - - confirmRemovalAll: function(event) { - var name = this.model.get("name"); - var result = this.model.collection.purgeAllFoxxes(name); - - if (result === true) { - window.modalView.hide(); - window.App.applicationsView.reload(); - } - }, - - infoDialog: function(event) { - var name = this.model.get("name"), - mountinfo = this.model.collection.gitInfo(name), - isGit; - - if (mountinfo.git === true) { - this.model.set("isGit", mountinfo.git); - this.model.set("gitUrl", mountinfo.url); - } - - isGit = this.model.get("isGit"); - - event.stopPropagation(); - - this[ - this.model.get("versions") - ? (isGit ? 'showInfoMultipleVersionsModUpdate' : 'showInfoMultipleVersionsMod') - : (isGit ? 'showInfoModUpdate' : 'showInfoMod') - ](this.fillInfoValues()); - - this.selectHighestVersion(); - }, - - installDialog: function(event) { - - var currentVersion = $(".modalSelect").val(); - - window.modalView.hide(); - event.stopPropagation(); - this.showMod(this.fillValues()); - - this.selectSpecificVersion(currentVersion); - }, - - update: function() { - var url = this.model.get("gitUrl"), - version = "master", - name = "", - result; - - if (url === undefined || url === "") { - // if no git is defined - return; - } - - result = this.model.collection.installFoxxFromGithub(url, name, version); - if (result === true) { - window.modalView.hide(); - window.App.applicationsView.reload(); - } - }, - - install: function() { - var mountPoint = $("#mount-point").val(), - version = "", - self = this; - if (/^\/_.+$/.test(mountPoint)) { - alert("Sorry, mount paths starting with an underscore are reserved for internal use."); - return false; - } - if (!/^(\/[^\/\s]+)+$/.test(mountPoint)){ - alert("Sorry, you have to give a valid mount point, e.g.: /myPath"); - return false; - } - - if (this.model.get("selectOptions")) { - version = $("#foxx-version").val(); - } - else { - version = this.model.get("version"); - } - - var cfg = {}; - var opts = this.model.get("manifest").configuration; - if (opts && _.keys(opts).length) { - try { - _.each(opts, function(opt, key) { - var $el = $("#foxx_configs_" + key); - var val = $el.val(); - if (opt.type === "boolean") { - cfg[key] = $el.is(":checked"); - return; - } - if (val === "" && !opt.hasOwnProperty("default")) { - throw new SyntaxError( - "Must specify value for field \"" + - (opt.label || splitSnakeCase(key)) + - "\"!" - ); - } - if (opt.type === "number") { - cfg[key] = parseFloat(val); - } else if (opt.type === "integer") { - cfg[key] = parseInt(val, 10); - } else { - cfg[key] = val; - return; - } - if (_.isNaN(cfg[key])) { - throw new SyntaxError( - "Invalid value for field \"" + - (opt.label || splitSnakeCase(key)) + - "\"!" - ); - } - if (opt.type === "integer" && cfg[key] !== Math.floor(parseFloat(val))) { - throw new SyntaxError( - "Expected non-decimal value in field \"" + - (opt.label || splitSnakeCase(key)) + - "\"!" - ); - } - }); - } catch (err) { - if (err instanceof SyntaxError) { - alert(err.message); - return false; - } - throw err; - } - } - - //find correct app install version - var toCreate = this.model.collection.findWhere({ - name: self.model.get("name"), - version: version - }); - - toCreate.collection.create({ - mount: mountPoint, - name: toCreate.get("name"), - version: toCreate.get("version"), - options: { - configuration: cfg - } - }, - { - success: function() { - window.modalView.hide(); - self.appsView.reload(); - }, - error: function(e, info) { - if (info.responseText.indexOf("already used by") > -1) { - alert("Mount-Path already in use."); - } else if (info.responseText.indexOf("app is not defined") > -1) { - //temp ignore this message, fix needs to be server-side - window.modalView.hide(); - self.appsView.reload(); - } else { - alert(info.statusText); - } - } - }); - }, - - selectSpecificVersion: function(version) { - $(".modalSelect").val(version); - }, - - selectHighestVersion: function() { - var versions = this.model.get("versions"), - toRender = "0"; - - _.each(versions, function(version) { - if(version >= toRender) { - toRender = version; - } - }); - - $(".modalSelect").val(toRender); - }, - - render: function(){ - var activeVersion = this.model.get("activeVersion"); - - if (activeVersion === 0 || activeVersion === undefined) { - activeVersion = this.model.get("highestVersion"); - } - - $(this.el).html(this.template.render(this.model)); - - return $(this.el); - } - - }); -}()); diff --git a/js/apps/system/aardvark/test/karma/files.json b/js/apps/system/aardvark/test/karma/files.json index 745c749b68..f0ea1a7448 100755 --- a/js/apps/system/aardvark/test/karma/files.json +++ b/js/apps/system/aardvark/test/karma/files.json @@ -1,190 +1,16 @@ { "files": [ "test/lib/jasmine-1.3.1/jasmine-html.js", - "test/lib/jshint.js", { "pattern": "frontend/js/templates/*.ejs", "served": true, "included": false, "watched": true}, { "pattern": "clusterFrontend/js/templates/*.ejs", "served": true, "included": false, "watched": true}, - "frontend/js/lib/jquery-2.1.0.min.js", - "test/mocks/overwriteAjax.js", - "frontend/js/lib/jquery-ui-1.9.2.custom.js", - "frontend/js/lib/jquery.autogrow.js", - "frontend/js/lib/jquery.jeditable.js", - "frontend/js/lib/jquery.jeditable.autogrow.js", - "frontend/js/lib/jquery.snippet.js", - "frontend/js/lib/jquery.slideto.min.js", - "frontend/js/lib/jquery.wiggle.min.js", - "frontend/js/lib/jquery.contextmenu.js", - "frontend/js/lib/select2.min.js", - "frontend/js/lib/handlebars-1.0.rc.1.js", - "frontend/js/lib/underscore.js", - "frontend/js/lib/backbone.js", - "frontend/js/lib/d3.v3.min.js", - "frontend/js/lib/nv.d3.js", - "frontend/js/lib/dygraph-combined.js", - "frontend/js/lib/d3.fisheye.js", - "frontend/js/lib/bootstrap.js", - "frontend/js/lib/bootstrap-pagination.js", - "frontend/js/lib/jsoneditor-min.js", - "frontend/src/ace.js", - "frontend/js/lib/jqconsole.min.js", - "frontend/js/lib/swagger.js", - "frontend/js/lib/swagger-ui.js", - "frontend/js/lib/highlight.7.3.pack.js", - "frontend/js/lib/joi.browser.js", - "frontend/js/lib/md5.js", - "test/mocks/disableEJS.js", - "frontend/js/arango/arango.js", - "frontend/js/shell/browser.js", - "frontend/js/modules/org/arangodb/arango-collection-common.js", - "frontend/js/modules/org/arangodb/arango-collection.js", - "frontend/js/modules/org/arangodb/arango-database.js", - "frontend/js/modules/org/arangodb/arango-query-cursor.js", - "frontend/js/modules/org/arangodb/arango-statement-common.js", - "frontend/js/modules/org/arangodb/arango-statement.js", - "frontend/js/modules/org/arangodb/arangosh.js", - "frontend/js/modules/org/arangodb/graph-common.js", - "frontend/js/modules/org/arangodb/graph.js", - "frontend/js/modules/org/arangodb/mimetypes.js", - "frontend/js/modules/org/arangodb/simple-query-common.js", - "frontend/js/modules/org/arangodb/simple-query.js", - "frontend/js/modules/org/arangodb/aql/functions.js", - "frontend/js/modules/org/arangodb/graph/traversal.js", - "frontend/js/modules/org/arangodb-common.js", - "frontend/js/modules/org/arangodb.js", - "frontend/js/bootstrap/errors.js", - "frontend/js/bootstrap/monkeypatches.js", - "frontend/js/bootstrap/module-internal.js", - "frontend/js/client/bootstrap/module-internal.js", - "frontend/js/client/client.js", + "test/mocks/activateTest.js", "test/specs/graphViewer/helper/eventHelper.js", "test/specs/graphViewer/helper/objectsHelper.js", "test/specs/graphViewer/helper/mocks.js", "test/specs/graphViewer/helper/commMock.js", "test/specs/graphViewer/helper/uiMatchers.js", + "test/mocks/disableEJS.js", - "frontend/js/graphViewer/graphViewer.js", - "frontend/js/graphViewer/graph/domObserverFactory.js", - "frontend/js/graphViewer/graph/colourMapper.js", - "frontend/js/graphViewer/graph/communityNode.js", - "frontend/js/graphViewer/graph/webWorkerWrapper.js", - "frontend/js/graphViewer/graph/nodeShaper.js", - "frontend/js/graphViewer/graph/abstractAdapter.js", - "frontend/js/graphViewer/graph/JSONAdapter.js", - "frontend/js/graphViewer/graph/arangoAdapter.js", - "frontend/js/graphViewer/graph/gharialAdapter.js", - "frontend/js/graphViewer/graph/foxxAdapter.js", - "frontend/js/graphViewer/graph/previewAdapter.js", - "frontend/js/graphViewer/graph/edgeShaper.js", - "frontend/js/graphViewer/graph/forceLayouter.js", - "frontend/js/graphViewer/graph/eventDispatcher.js", - "frontend/js/graphViewer/graph/eventLibrary.js", - "frontend/js/graphViewer/graph/zoomManager.js", - "frontend/js/graphViewer/graph/nodeReducer.js", - "frontend/js/graphViewer/graph/modularityJoiner.js", - - "frontend/js/graphViewer/ui/modalDialogHelper.js", - "frontend/js/graphViewer/ui/contextMenuHelper.js", - "frontend/js/graphViewer/ui/nodeShaperControls.js", - "frontend/js/graphViewer/ui/edgeShaperControls.js", - "frontend/js/graphViewer/ui/arangoAdapterControls.js", - "frontend/js/graphViewer/ui/gharialAdapterControls.js", - "frontend/js/graphViewer/ui/layouterControls.js", - "frontend/js/graphViewer/ui/uiComponentsHelper.js", - "frontend/js/graphViewer/ui/eventDispatcherControls.js", - "frontend/js/graphViewer/ui/graphViewerUI.js", - "frontend/js/graphViewer/ui/graphViewerWidget.js", - "frontend/js/graphViewer/ui/graphViewerPreview.js", - "frontend/js/models/arangoCollectionModel.js", - "frontend/js/models/arangoDatabase.js", - "frontend/js/models/arangoDocument.js", - "frontend/js/models/newArangoLog.js", - "frontend/js/models/arangoReplication.js", - "frontend/js/models/arangoSession.js", - "frontend/js/models/arangoStatistics.js", - "frontend/js/models/arangoStatisticsDescription.js", - "frontend/js/models/arangoUsers.js", - "frontend/js/models/currentDatabase.js", - "frontend/js/models/foxx.js", - "frontend/js/models/graph.js", - "frontend/js/models/notification.js", - "frontend/js/models/arangoQuery.js", - "clusterFrontend/js/models/clusterServer.js", - "clusterFrontend/js/models/clusterCoordinator.js", - "clusterFrontend/js/models/clusterDatabase.js", - "clusterFrontend/js/models/clusterCollection.js", - "clusterFrontend/js/models/clusterShard.js", - "clusterFrontend/js/models/clusterPlan.js", - "clusterFrontend/js/models/clusterType.js", - - "frontend/js/config/dygraphConfig.js", - - "frontend/js/collections/_paginatedCollection.js", - "frontend/js/collections/arangoCollections.js", - "frontend/js/collections/arangoDocuments.js", - "frontend/js/collections/arangoDocument.js", - "frontend/js/collections/arangoDatabase.js", - "frontend/js/collections/arangoReplication.js", - "frontend/js/collections/arangoUsers.js", - "frontend/js/collections/arangoLogs.js", - "frontend/js/collections/arangoStatisticsCollection.js", - "frontend/js/collections/arangoStatisticsDescriptionCollection.js", - "frontend/js/collections/foxxCollection.js", - "frontend/js/collections/graphCollection.js", - "frontend/js/collections/notificationCollection.js", - "frontend/js/collections/arangoQueries.js", - "clusterFrontend/js/collections/_automaticRetryCollection.js", - "clusterFrontend/js/collections/clusterServers.js", - "clusterFrontend/js/collections/clusterCoordinators.js", - "clusterFrontend/js/collections/clusterDatabases.js", - "clusterFrontend/js/collections/clusterCollections.js", - "clusterFrontend/js/collections/clusterShards.js", - "clusterFrontend/js/collections/arangoClusterStatisticsCollection.js", - - "frontend/js/views/_paginationView.js", - "frontend/js/views/tableView.js", - "frontend/js/views/apiView.js", - "frontend/js/views/appDocumentationView.js", - "frontend/js/views/applicationsView.js", - "frontend/js/views/applicationDetailView.js", - "frontend/js/views/collectionsItemView.js", - "frontend/js/views/collectionsView.js", - "frontend/js/views/databaseView.js", - "frontend/js/views/dbSelectionView.js", - "frontend/js/views/documentsView.js", - "frontend/js/views/documentView.js", - "frontend/js/views/editListEntryView.js", - "frontend/js/views/footerView.js", - "frontend/js/views/foxxActiveListView.js", - "frontend/js/views/foxxActiveView.js", - "frontend/js/views/graphManagementView.js", - "frontend/js/views/loginView.js", - "frontend/js/views/modalView.js", - "frontend/js/views/navigationView.js", - "frontend/js/views/dashboardView.js", - "frontend/js/views/logsView.js", - "frontend/js/views/notificationView.js", - "frontend/js/views/queryView.js", - "frontend/js/views/shellView.js", - "frontend/js/views/statisticBarView.js", - "frontend/js/views/testView.js", - "frontend/js/views/userBarView.js", - "frontend/js/views/userManagementView.js", - "frontend/js/views/progressView.js", - - "clusterFrontend/js/views/clusterDownView.js", - "clusterFrontend/js/views/loginModalView.js", - "clusterFrontend/js/views/planScenarioSelectorView.js", - "clusterFrontend/js/views/planSymmetricView.js", - "clusterFrontend/js/views/planTestView.js", - "clusterFrontend/js/views/shutdownButtonView.js", - "clusterFrontend/js/views/showClusterView.js", - "clusterFrontend/js/views/showShardsView.js", - "clusterFrontend/js/views/dbServerDashboardView.js", - - "clusterFrontend/js/views/showClusterView.js", - - "frontend/js/routers/versionCheck.js", - "frontend/js/routers/router.js", - "clusterFrontend/js/routers/clusterRouter.js", + "frontend/build/app.js", "test/specs/graphViewer/specColourMapper/colourMapperSpec.js", "test/specs/graphViewer/specWindowObjects/domObserverFactorySpec.js", @@ -216,9 +42,8 @@ "test/specs/graphViewer/specNodeReducer/modularityJoinerSpec.js", "test/specs/graphViewer/specContextMenu/contextMenuSpec.js", "test/specs/arango/arangoSpec.js", - + "test/specs/config/dygraphConfigSpec.js", "test/specs/models/currentDatabaseSpec.js", - "test/specs/models/clusterPlanSpec.js", "test/specs/models/graphSpec.js", "test/specs/models/arangoCollectionModelSpec.js", "test/specs/models/arangoDatabaseSpec.js", @@ -229,8 +54,6 @@ "test/specs/models/arangoUsersSpec.js", "test/specs/models/foxxSpec.js", - "test/specs/config/dygraphConfigSpec.js", - "test/specs/collections/arangoCollectionsSpec.js", "test/specs/collections/arangoDatabaseSpec.js", "test/specs/collections/arangoDocumentSpec.js", @@ -242,7 +65,6 @@ "test/specs/collections/foxxCollectionSpec.js", "test/specs/collections/graphCollectionSpec.js", "test/specs/collections/notificationCollectionSpec.js", - "test/specs/collections/ClusterStatisticsCollectionSpec.js", "test/specs/views/apiViewSpec.js", @@ -266,6 +88,8 @@ "test/specs/router/routerSpec.js", "test/specs/router/clusterRouterSpec.js", + "test/specs/router/routerSpec.js", + "test/specs/router/versionCheckSpec.js" - ] + ] } diff --git a/js/apps/system/aardvark/test/karma/karma.conf.js b/js/apps/system/aardvark/test/karma/karma.conf.js index fe3af09da7..bc0c9b6b84 100644 --- a/js/apps/system/aardvark/test/karma/karma.conf.js +++ b/js/apps/system/aardvark/test/karma/karma.conf.js @@ -2,7 +2,7 @@ // Generated on Thu Jul 04 2013 11:39:34 GMT+0200 (CEST) filesJSON = require("./files.json"); -filesJSON.files.push('test/specJSLint/jsLintSpec.js'); +// filesJSON.files.push('test/specJSLint/jsLintSpec.js'); module.exports = function(karma) { diff --git a/js/apps/system/aardvark/test/mocks/activateTest.js b/js/apps/system/aardvark/test/mocks/activateTest.js new file mode 100644 index 0000000000..fcb8f205a3 --- /dev/null +++ b/js/apps/system/aardvark/test/mocks/activateTest.js @@ -0,0 +1,5 @@ +/*global window*/ +(function() { + "use strict"; + window.TEST_BUILD = true; +}());