diff --git a/platform/commonUI/browse/bundle.js b/platform/commonUI/browse/bundle.js index 0f64e5fd55..8c3ad030fa 100644 --- a/platform/commonUI/browse/bundle.js +++ b/platform/commonUI/browse/bundle.js @@ -21,12 +21,6 @@ *****************************************************************************/ define([ - "./src/BrowseController", - "./src/PaneController", - "./src/InspectorPaneController", - "./src/BrowseObjectController", - "./src/MenuArrowController", - "./src/ObjectHeaderController", "./src/navigation/NavigationService", "./src/navigation/NavigateAction", "./src/navigation/OrphanNavigationHandler", @@ -41,12 +35,6 @@ define([ "./res/templates/browse/inspector-region.html", 'legacyRegistry' ], function ( - BrowseController, - PaneController, - InspectorPaneController, - BrowseObjectController, - MenuArrowController, - ObjectHeaderController, NavigationService, NavigateAction, OrphanNavigationHandler, @@ -73,70 +61,6 @@ define([ "priority": "fallback" } ], - "controllers": [ - { - "key": "BrowseController", - "implementation": BrowseController, - "depends": [ - "$scope", - "$route", - "$location", - "objectService", - "navigationService", - "urlService", - "DEFAULT_PATH" - ] - }, - { - "key": "PaneController", - "implementation": PaneController, - "priority": "preferred", - "depends": [ - "$scope", - "agentService", - "$window", - "$location", - "$attrs", - "navigationService" - ] - }, - { - "key": "BrowseObjectController", - "implementation": BrowseObjectController, - "depends": [ - "$scope", - "$location", - "$route" - ] - }, - { - "key": "MenuArrowController", - "implementation": MenuArrowController, - "depends": [ - "$scope" - ] - }, - { - "key": "InspectorPaneController", - "implementation": InspectorPaneController, - "priority": "preferred", - "depends": [ - "$scope", - "agentService", - "$window", - "navigationService", - "$location", - "$attrs" - ] - }, - { - "key": "ObjectHeaderController", - "implementation": ObjectHeaderController, - "depends": [ - "$scope" - ] - } - ], "representations": [ { "key": "browse-object", diff --git a/platform/commonUI/browse/src/BrowseController.js b/platform/commonUI/browse/src/BrowseController.js deleted file mode 100644 index fa65c980db..0000000000 --- a/platform/commonUI/browse/src/BrowseController.js +++ /dev/null @@ -1,215 +0,0 @@ -/***************************************************************************** - * Open MCT, Copyright (c) 2014-2018, United States Government - * as represented by the Administrator of the National Aeronautics and Space - * Administration. All rights reserved. - * - * Open MCT is licensed under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * Open MCT includes source code licensed under additional open source - * licenses. See the Open Source Licenses file (LICENSES.md) included with - * this source code distribution or the Licensing information page available - * at runtime from the About dialog for additional information. - *****************************************************************************/ - -/** - * This bundle implements Browse mode. - * @namespace platform/commonUI/browse - */ -define( - ['lodash'], - function (_) { - - /** - * The BrowseController is used to populate the initial scope in Browse - * mode. It loads the root object from the objectService and makes it - * available in the scope for Angular template's; this is the point at - * which Angular templates first have access to the domain object - * hierarchy. - * - * @memberof platform/commonUI/browse - * @constructor - */ - function BrowseController( - $scope, - $route, - $location, - objectService, - navigationService, - urlService, - defaultPath - ) { - window.browseScope = $scope; - var initialPath = ($route.current.params.ids || defaultPath).split("/"), - currentIds; - - $scope.treeModel = { - selectedObject: undefined, - onSelection: function (object) { - navigationService.setNavigation(object, true); - }, - allowSelection: function (object) { - var domainObjectInView = navigationService.getNavigation(), - isInEditMode = domainObjectInView.getCapability('status').get('editing'); - - if (isInEditMode) { - - var actions = object.getCapability('action'), - previewAction = actions.getActions({key: 'mct-preview-action'})[0]; - - if (previewAction && previewAction.perform) { - previewAction.perform(); - return false; - } else { - return navigationService.shouldNavigate(); - } - - } else { - return true; - } - } - }; - - function idsForObject(domainObject) { - return urlService - .urlForLocation("", domainObject) - .replace('/', ''); - } - - // Find an object in an array of objects. - function findObject(domainObjects, id) { - var i; - for (i = 0; i < domainObjects.length; i += 1) { - if (domainObjects[i].getId() === id) { - return domainObjects[i]; - } - } - } - - // helper, fetch a single object from the object service. - function getObject(id) { - return objectService.getObjects([id]) - .then(function (results) { - return results[id]; - }); - } - - // recursively locate and return an object inside of a container - // via a path. If at any point in the recursion it fails to find - // the next object, it will return the parent. - function findViaComposition(containerObject, path) { - var nextId = path.shift(); - if (!nextId) { - return containerObject; - } - return containerObject.useCapability('composition') - .then(function (composees) { - var nextObject = findObject(composees, nextId); - if (!nextObject) { - return containerObject; - } - if (!nextObject.hasCapability('composition')) { - return nextObject; - } - return findViaComposition(nextObject, path); - }); - } - - function navigateToObject(desiredObject) { - $scope.navigatedObject = desiredObject; - $scope.treeModel.selectedObject = desiredObject; - currentIds = idsForObject(desiredObject); - $route.current.pathParams.ids = currentIds; - $location.path('/browse/' + currentIds); - } - - function getLastChildIfRoot(object) { - if (object.getId() !== 'ROOT') { - return object; - } - return object.useCapability('composition') - .then(function (composees) { - return composees[composees.length - 1]; - }); - } - - function navigateToPath(path) { - return getObject('ROOT') - .then(function (root) { - return findViaComposition(root, path); - }) - .then(getLastChildIfRoot) - .then(function (object) { - navigationService.setNavigation(object); - }); - } - - getObject('ROOT') - .then(function (root) { - $scope.domainObject = root; - navigateToPath(initialPath); - }); - - // Handle navigation events from view service. Only navigates - // if path has changed. - function navigateDirectlyToModel(domainObject) { - var newIds = idsForObject(domainObject); - if (currentIds !== newIds) { - currentIds = newIds; - navigateToObject(domainObject); - } - } - - // Listen for changes in navigation state. - navigationService.addListener(navigateDirectlyToModel); - - // Listen for route changes which are caused by browser events - // (e.g. bookmarks to pages in OpenMCT) and prevent them. Instead, - // navigate to the path ourselves, which results in it being - // properly set. - $scope.$on('$routeChangeStart', function (event, route, oldRoute) { - if (route.$$route === $route.current.$$route) { - if (route.pathParams.ids && - route.pathParams.ids !== $route.current.pathParams.ids) { - - var otherParams = _.omit(route.params, 'ids'); - var oldOtherParams = _.omit(oldRoute.params, 'ids'); - var deletedParams = _.omit(oldOtherParams, _.keys(otherParams)); - - event.preventDefault(); - - navigateToPath(route.pathParams.ids.split('/')) - .then(function () { - if (!_.isEqual(otherParams, oldOtherParams)) { - _.forEach(otherParams, function (v, k) { - $location.search(k, v); - }); - _.forEach(deletedParams, function (k) { - $location.search(k, null); - }); - } - }); - } else { - navigateToPath([]); - } - } - }); - - // Clean up when the scope is destroyed - $scope.$on("$destroy", function () { - navigationService.removeListener(navigateDirectlyToModel); - }); - } - - return BrowseController; - } -); - diff --git a/platform/commonUI/browse/src/BrowseObjectController.js b/platform/commonUI/browse/src/BrowseObjectController.js deleted file mode 100644 index 16a731174c..0000000000 --- a/platform/commonUI/browse/src/BrowseObjectController.js +++ /dev/null @@ -1,72 +0,0 @@ -/***************************************************************************** - * Open MCT, Copyright (c) 2014-2018, United States Government - * as represented by the Administrator of the National Aeronautics and Space - * Administration. All rights reserved. - * - * Open MCT is licensed under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * Open MCT includes source code licensed under additional open source - * licenses. See the Open Source Licenses file (LICENSES.md) included with - * this source code distribution or the Licensing information page available - * at runtime from the About dialog for additional information. - *****************************************************************************/ - -define( - [], - function () { - - /** - * Controller for the `browse-object` representation of a domain - * object (the right-hand side of Browse mode.) - * @memberof platform/commonUI/browse - * @constructor - */ - function BrowseObjectController($scope, $location, $route) { - function setViewForDomainObject(domainObject) { - - var locationViewKey = $location.search().view; - - function selectViewIfMatching(view) { - if (view.key === locationViewKey) { - $scope.representation = $scope.representation || {}; - $scope.representation.selected = view; - } - } - - if (locationViewKey) { - ((domainObject && domainObject.useCapability('view')) || []) - .forEach(selectViewIfMatching); - } - } - - function updateQueryParam(viewKey) { - if (viewKey && $location.search().view !== viewKey) { - $location.search('view', viewKey); - } - } - - $scope.$watch('domainObject', setViewForDomainObject); - $scope.$watch('representation.selected.key', updateQueryParam); - $scope.$on('$locationChangeSuccess', function () { - setViewForDomainObject($scope.domainObject); - }); - - $scope.doAction = function (action) { - return $scope[action] && $scope[action](); - }; - - } - - return BrowseObjectController; - } -); - diff --git a/platform/commonUI/browse/src/InspectorPaneController.js b/platform/commonUI/browse/src/InspectorPaneController.js deleted file mode 100644 index 2ba97cda9c..0000000000 --- a/platform/commonUI/browse/src/InspectorPaneController.js +++ /dev/null @@ -1,78 +0,0 @@ -/***************************************************************************** - * Open MCT Web, Copyright (c) 2014-2015, United States Government - * as represented by the Administrator of the National Aeronautics and Space - * Administration. All rights reserved. - * - * Open MCT Web is licensed under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * Open MCT Web includes source code licensed under additional open source - * licenses. See the Open Source Licenses file (LICENSES.md) included with - * this source code distribution or the Licensing information page available - * at runtime from the About dialog for additional information. - *****************************************************************************/ - - -define( - ["./PaneController"], - function (PaneController) { - - /** - * Pane controller that reveals inspector, if hidden, when object - * switches to edit mode. - * - * @param $scope - * @param agentService - * @param $window - * @param navigationService - * @constructor - */ - function InspectorPaneController($scope, agentService, $window, navigationService, $location, $attrs) { - PaneController.call(this, $scope, agentService, $window, $location, $attrs); - var statusListener, - self = this; - - function showInspector(statuses) { - if (statuses.indexOf('editing') !== -1 && !self.visible()) { - self.toggle(); - } - } - - function attachStatusListener(domainObject) { - // Remove existing status listener if existing - if (statusListener) { - statusListener(); - } - - if (domainObject.hasCapability("status")) { - statusListener = domainObject.getCapability("status").listen(showInspector); - } - return statusListener; - } - - var domainObject = navigationService.getNavigation(); - if (domainObject) { - attachStatusListener(domainObject); - } - - navigationService.addListener(attachStatusListener); - - $scope.$on("$destroy", function () { - statusListener(); - navigationService.removeListener(attachStatusListener); - }); - } - - InspectorPaneController.prototype = Object.create(PaneController.prototype); - - return InspectorPaneController; - } -); diff --git a/platform/commonUI/browse/src/MenuArrowController.js b/platform/commonUI/browse/src/MenuArrowController.js deleted file mode 100644 index 375d6afcb9..0000000000 --- a/platform/commonUI/browse/src/MenuArrowController.js +++ /dev/null @@ -1,59 +0,0 @@ -/***************************************************************************** - * Open MCT, Copyright (c) 2014-2018, United States Government - * as represented by the Administrator of the National Aeronautics and Space - * Administration. All rights reserved. - * - * Open MCT is licensed under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * Open MCT includes source code licensed under additional open source - * licenses. See the Open Source Licenses file (LICENSES.md) included with - * this source code distribution or the Licensing information page available - * at runtime from the About dialog for additional information. - *****************************************************************************/ - -/** - * Module defining MenuArrowController. Created by shale on 06/30/2015. - */ -define( - [], - function () { - - /** - * A left-click on the menu arrow should display a - * context menu. This controller launches the context - * menu. - * @memberof platform/commonUI/browse - * @constructor - */ - function MenuArrowController($scope) { - this.$scope = $scope; - } - - /** - * Show a context menu for the domain object in this scope. - * - * @param event the browser event which caused this (used to - * position the menu) - */ - MenuArrowController.prototype.showMenu = function (event) { - var actionContext = { - key: 'menu', - domainObject: this.$scope.domainObject, - event: event - }; - - this.$scope.domainObject.getCapability('action').perform(actionContext); - }; - - return MenuArrowController; - } -); diff --git a/platform/commonUI/browse/src/ObjectHeaderController.js b/platform/commonUI/browse/src/ObjectHeaderController.js deleted file mode 100644 index 4feb07a133..0000000000 --- a/platform/commonUI/browse/src/ObjectHeaderController.js +++ /dev/null @@ -1,92 +0,0 @@ -/***************************************************************************** - * Open MCT, Copyright (c) 2014-2018, United States Government - * as represented by the Administrator of the National Aeronautics and Space - * Administration. All rights reserved. - * - * Open MCT is licensed under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * Open MCT includes source code licensed under additional open source - * licenses. See the Open Source Licenses file (LICENSES.md) included with - * this source code distribution or the Licensing information page available - * at runtime from the About dialog for additional information. - *****************************************************************************/ - -define( - [], - function () { - - /** - * Controller to provide the ability to inline edit an object name. - * - * @constructor - * @memberof platform/commonUI/browse - */ - function ObjectHeaderController($scope) { - this.$scope = $scope; - this.domainObject = $scope.domainObject; - this.editable = this.allowEdit(); - } - - /** - * Updates the object name on blur and enter keypress events. - * - * @param event the mouse event - */ - ObjectHeaderController.prototype.updateName = function (event) { - if (!event || !event.currentTarget) { - return; - } - - if (event.type === 'blur') { - this.updateModel(event); - } else if (event.which === 13) { - this.updateModel(event); - event.currentTarget.blur(); - window.getSelection().removeAllRanges(); - } - }; - - /** - * Updates the model. - * - * @param event the mouse event - * @param private - */ - ObjectHeaderController.prototype.updateModel = function (event) { - var name = event.currentTarget.textContent.replace(/\n/g, ' '); - - if (name.length === 0) { - name = "Unnamed " + this.domainObject.getCapability("type").typeDef.name; - event.currentTarget.textContent = name; - } - - if (name !== this.domainObject.getModel().name) { - this.domainObject.getCapability('mutation').mutate(function (model) { - model.name = name; - }); - } - }; - - /** - * Checks if the domain object is editable. - * - * @private - * @return true if object is editable - */ - ObjectHeaderController.prototype.allowEdit = function () { - var type = this.domainObject && this.domainObject.getCapability('type'); - return !!(type && type.hasFeature('creation')); - }; - - return ObjectHeaderController; - } -); diff --git a/platform/commonUI/browse/src/PaneController.js b/platform/commonUI/browse/src/PaneController.js deleted file mode 100644 index 4e49d0be6e..0000000000 --- a/platform/commonUI/browse/src/PaneController.js +++ /dev/null @@ -1,88 +0,0 @@ -/***************************************************************************** - * Open MCT, Copyright (c) 2014-2018, United States Government - * as represented by the Administrator of the National Aeronautics and Space - * Administration. All rights reserved. - * - * Open MCT is licensed under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * Open MCT includes source code licensed under additional open source - * licenses. See the Open Source Licenses file (LICENSES.md) included with - * this source code distribution or the Licensing information page available - * at runtime from the About dialog for additional information. - *****************************************************************************/ - - -define( - [], - function () { - var navigationListenerAdded = false; - /** - * Controller to provide the ability to show/hide the tree in - * Browse mode. - * @constructor - * @memberof platform/commonUI/browse - */ - function PaneController($scope, agentService, $window, $location, $attrs, navigationService) { - var self = this; - this.agentService = agentService; - var hideParameterPresent = $location.search().hasOwnProperty($attrs.hideParameter); - - if ($attrs.hideParameter && hideParameterPresent) { - this.state = false; - $location.search($attrs.hideParameter, undefined); - } else { - this.state = true; - } - - /** - * Callback to invoke when any selection occurs in the tree. - * This controller can be passed in as the `parameters` object - * to the tree representation. - * - * @property {Function} callback - * @memberof platform/commonUI/browse.PaneController# - */ - this.callback = function () { - // Note that, since this is a callback to pass, this is not - // declared as a method but as a property which happens to - // be a function. - if (agentService.isPhone() && agentService.isPortrait()) { - // On phones, trees should collapse in portrait mode - // when something is navigated-to. - self.state = false; - } - }; - - if (navigationService && navigationService.addListener && !navigationListenerAdded) { - navigationService.addListener(this.callback); - navigationListenerAdded = true; - } - } - - /** - * Toggle the visibility of the pane. - */ - PaneController.prototype.toggle = function () { - this.state = !this.state; - }; - - /** - * Get the desired visibility state of the pane. - * @returns {boolean} true when visible - */ - PaneController.prototype.visible = function () { - return !!this.state; - }; - - return PaneController; - } -); diff --git a/platform/commonUI/browse/test/BrowseControllerSpec.js b/platform/commonUI/browse/test/BrowseControllerSpec.js deleted file mode 100644 index c089992fea..0000000000 --- a/platform/commonUI/browse/test/BrowseControllerSpec.js +++ /dev/null @@ -1,266 +0,0 @@ -/***************************************************************************** - * Open MCT, Copyright (c) 2014-2018, United States Government - * as represented by the Administrator of the National Aeronautics and Space - * Administration. All rights reserved. - * - * Open MCT is licensed under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * Open MCT includes source code licensed under additional open source - * licenses. See the Open Source Licenses file (LICENSES.md) included with - * this source code distribution or the Licensing information page available - * at runtime from the About dialog for additional information. - *****************************************************************************/ -/*global console*/ - -/** - * MCTRepresentationSpec. Created by vwoeltje on 11/6/14. - */ -define( - [ - "../src/BrowseController", - "../src/navigation/NavigationService" - ], - function ( - BrowseController, - NavigationService - ) { - - describe("The browse controller", function () { - var mockScope, - mockRoute, - mockLocation, - mockObjectService, - mockNavigationService, - mockRootObject, - mockUrlService, - mockDefaultRootObject, - mockOtherDomainObject, - mockNextObject, - testDefaultRoot, - controller; - - function waitsForNavigation() { - return new Promise(function (resolve) { - mockNavigationService.setNavigation.and.callFake(function (obj) { - var returnValue; - try { - returnValue = NavigationService.prototype.setNavigation.call(mockNavigationService, obj); - } catch (err) { - console.error(err); - //Not rejecting because 'setNavigation' has been called, which is what's being tested here. - //Rejecting will fail tests. - } - resolve(); - return returnValue; - }); - }); - } - - function instantiateController() { - controller = new BrowseController( - mockScope, - mockRoute, - mockLocation, - mockObjectService, - mockNavigationService, - mockUrlService, - testDefaultRoot - ); - } - - beforeEach(function () { - testDefaultRoot = "some-root-level-domain-object"; - - mockScope = jasmine.createSpyObj( - "$scope", - ["$on", "$watch"] - ); - mockRoute = { current: { params: {}, pathParams: {} } }; - mockUrlService = jasmine.createSpyObj( - "urlService", - ["urlForLocation"] - ); - mockUrlService.urlForLocation.and.callFake(function (mode, object) { - if (object === mockDefaultRootObject) { - return [mode, testDefaultRoot].join('/'); - } - if (object === mockOtherDomainObject) { - return [mode, 'other'].join('/'); - } - if (object === mockNextObject) { - return [mode, testDefaultRoot, 'next'].join('/'); - } - throw new Error('Tried to get url for unexpected object'); - }); - mockLocation = jasmine.createSpyObj( - "$location", - ["path"] - ); - mockObjectService = jasmine.createSpyObj( - "objectService", - ["getObjects"] - ); - mockNavigationService = new NavigationService({}); - [ - "getNavigation", - "setNavigation", - "addListener", - "removeListener" - ].forEach(function (method) { - spyOn(mockNavigationService, method) - .and.callThrough(); - }); - mockRootObject = jasmine.createSpyObj( - "rootObjectContainer", - ["getId", "getCapability", "getModel", "useCapability", "hasCapability"] - ); - mockDefaultRootObject = jasmine.createSpyObj( - "defaultRootObject", - ["getId", "getCapability", "getModel", "useCapability", "hasCapability"] - ); - mockOtherDomainObject = jasmine.createSpyObj( - "otherDomainObject", - ["getId", "getCapability", "getModel", "useCapability", "hasCapability"] - ); - mockNextObject = jasmine.createSpyObj( - "nestedDomainObject", - ["getId", "getCapability", "getModel", "useCapability", "hasCapability"] - ); - mockObjectService.getObjects.and.returnValue(Promise.resolve({ - ROOT: mockRootObject - })); - mockRootObject.useCapability.and.returnValue(Promise.resolve([ - mockOtherDomainObject, - mockDefaultRootObject - ])); - mockRootObject.hasCapability.and.returnValue(true); - mockDefaultRootObject.useCapability.and.returnValue(Promise.resolve([ - mockNextObject - ])); - mockDefaultRootObject.hasCapability.and.returnValue(true); - mockOtherDomainObject.hasCapability.and.returnValue(false); - mockNextObject.useCapability.and.returnValue(undefined); - mockNextObject.hasCapability.and.returnValue(false); - mockNextObject.getId.and.returnValue("next"); - mockDefaultRootObject.getId.and.returnValue(testDefaultRoot); - - instantiateController(); - return waitsForNavigation(); - }); - - it("uses composition to set the navigated object, if there is none", function () { - instantiateController(); - return waitsForNavigation().then(function () { - expect(mockNavigationService.setNavigation) - .toHaveBeenCalledWith(mockDefaultRootObject); - }); - }); - - it("navigates to a root-level object, even when default path is not found", function () { - mockDefaultRootObject.getId - .and.returnValue("something-other-than-the-" + testDefaultRoot); - instantiateController(); - - return waitsForNavigation().then(function () { - expect(mockNavigationService.setNavigation) - .toHaveBeenCalledWith(mockDefaultRootObject); - }); - }); - - it("does not try to override navigation", function () { - mockNavigationService.getNavigation.and.returnValue(mockDefaultRootObject); - instantiateController(); - return waitsForNavigation().then(function () { - expect(mockScope.navigatedObject).toBe(mockDefaultRootObject); - }); - }); - - it("updates scope when navigated object changes", function () { - // Should have registered a listener - call it - mockNavigationService.addListener.calls.mostRecent().args[0]( - mockOtherDomainObject - ); - expect(mockScope.navigatedObject).toEqual(mockOtherDomainObject); - }); - - - it("releases its navigation listener when its scope is destroyed", function () { - expect(mockScope.$on).toHaveBeenCalledWith( - "$destroy", - jasmine.any(Function) - ); - mockScope.$on.calls.mostRecent().args[1](); - - // Should remove the listener it added earlier - expect(mockNavigationService.removeListener).toHaveBeenCalledWith( - mockNavigationService.addListener.calls.mostRecent().args[0] - ); - }); - - it("uses route parameters to choose initially-navigated object", function () { - mockRoute.current.params.ids = testDefaultRoot + "/next"; - instantiateController(); - return waitsForNavigation().then(function () { - expect(mockScope.navigatedObject).toBe(mockNextObject); - expect(mockNavigationService.setNavigation) - .toHaveBeenCalledWith(mockNextObject); - }); - }); - - it("handles invalid IDs by going as far as possible", function () { - // Idea here is that if we get a bad path of IDs, - // browse controller should traverse down it until - // it hits an invalid ID. - mockRoute.current.params.ids = testDefaultRoot + "/junk"; - instantiateController(); - return waitsForNavigation().then(function () { - expect(mockScope.navigatedObject).toBe(mockDefaultRootObject); - expect(mockNavigationService.setNavigation) - .toHaveBeenCalledWith(mockDefaultRootObject); - }); - }); - - it("handles compositionless objects by going as far as possible", function () { - // Idea here is that if we get a path which passes - // through an object without a composition, browse controller - // should stop at it since remaining IDs cannot be loaded. - mockRoute.current.params.ids = testDefaultRoot + "/next/junk"; - instantiateController(); - return waitsForNavigation().then(function () { - expect(mockScope.navigatedObject).toBe(mockNextObject); - expect(mockNavigationService.setNavigation) - .toHaveBeenCalledWith(mockNextObject); - }); - }); - - it("updates the displayed route to reflect current navigation", function () { - // In order to trigger a route update and not a route change, - // the current route must be updated before location.path is - // called. - expect(mockRoute.current.pathParams.ids) - .not - .toBe(testDefaultRoot + '/next'); - mockLocation.path.and.callFake(function () { - expect(mockRoute.current.pathParams.ids) - .toBe(testDefaultRoot + '/next'); - }); - mockNavigationService.addListener.calls.mostRecent().args[0]( - mockNextObject - ); - expect(mockLocation.path).toHaveBeenCalledWith( - '/browse/' + testDefaultRoot + '/next' - ); - }); - - }); - } -); diff --git a/platform/commonUI/browse/test/BrowseObjectControllerSpec.js b/platform/commonUI/browse/test/BrowseObjectControllerSpec.js deleted file mode 100644 index 5a5db6f4fb..0000000000 --- a/platform/commonUI/browse/test/BrowseObjectControllerSpec.js +++ /dev/null @@ -1,93 +0,0 @@ -/***************************************************************************** - * Open MCT, Copyright (c) 2014-2018, United States Government - * as represented by the Administrator of the National Aeronautics and Space - * Administration. All rights reserved. - * - * Open MCT is licensed under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * Open MCT includes source code licensed under additional open source - * licenses. See the Open Source Licenses file (LICENSES.md) included with - * this source code distribution or the Licensing information page available - * at runtime from the About dialog for additional information. - *****************************************************************************/ - -define( - ["../src/BrowseObjectController"], - function (BrowseObjectController) { - - describe("The browse object controller", function () { - var mockScope, - mockLocation, - mockRoute, - controller; - - // Utility function; look for a $watch on scope and fire it - function fireWatch(expr, value) { - mockScope.$watch.calls.all().forEach(function (call) { - if (call.args[0] === expr) { - call.args[1](value); - } - }); - } - - beforeEach(function () { - mockScope = jasmine.createSpyObj( - "$scope", - ["$on", "$watch"] - ); - mockRoute = { current: { params: {} } }; - mockLocation = jasmine.createSpyObj( - "$location", - ["path", "search"] - ); - mockLocation.search.and.returnValue({}); - - controller = new BrowseObjectController( - mockScope, - mockLocation, - mockRoute - ); - }); - - it("updates query parameters when selected view changes", function () { - fireWatch("representation.selected.key", "xyz"); - expect(mockLocation.search).toHaveBeenCalledWith('view', "xyz"); - - // Allows the path index to be checked - // prior to setting $route.current - mockLocation.path.and.returnValue("/browse/"); - }); - - it("sets the active view from query parameters", function () { - var mockDomainObject = jasmine.createSpyObj( - "domainObject", - ['getId', 'getModel', 'getCapability', 'useCapability'] - ), - testViews = [ - { key: 'abc' }, - { key: 'def', someKey: 'some value' }, - { key: 'xyz' } - ]; - - mockDomainObject.useCapability.and.callFake(function (c) { - return (c === 'view') && testViews; - }); - mockLocation.search.and.returnValue({ view: 'def' }); - - fireWatch('domainObject', mockDomainObject); - expect(mockScope.representation.selected) - .toEqual(testViews[1]); - }); - - }); - } -); diff --git a/platform/commonUI/browse/test/InspectorPaneControllerSpec.js b/platform/commonUI/browse/test/InspectorPaneControllerSpec.js deleted file mode 100644 index ca2947a882..0000000000 --- a/platform/commonUI/browse/test/InspectorPaneControllerSpec.js +++ /dev/null @@ -1,103 +0,0 @@ -/***************************************************************************** - * Open MCT Web, Copyright (c) 2014-2015, United States Government - * as represented by the Administrator of the National Aeronautics and Space - * Administration. All rights reserved. - * - * Open MCT Web is licensed under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * Open MCT Web includes source code licensed under additional open source - * licenses. See the Open Source Licenses file (LICENSES.md) included with - * this source code distribution or the Licensing information page available - * at runtime from the About dialog for additional information. - *****************************************************************************/ - -define( - ["../src/InspectorPaneController"], - function (InspectorPaneController) { - - describe("The InspectorPaneController", function () { - var mockScope, - mockAgentService, - mockDomainObject, - mockWindow, - mockStatusCapability, - mockNavigationService, - mockNavigationUnlistener, - mockStatusUnlistener, - controller, - mockLocation, - mockAttrs; - - beforeEach(function () { - mockScope = jasmine.createSpyObj("$scope", ["$on"]); - mockWindow = jasmine.createSpyObj("$window", ["open"]); - mockAgentService = jasmine.createSpyObj( - "agentService", - ["isMobile", "isPhone", "isTablet", "isPortrait", "isLandscape"] - ); - - mockNavigationUnlistener = jasmine.createSpy("navigationUnlistener"); - mockNavigationService = jasmine.createSpyObj( - "navigationService", - ["getNavigation", "addListener"] - ); - mockNavigationService.addListener.and.returnValue(mockNavigationUnlistener); - - mockStatusUnlistener = jasmine.createSpy("statusUnlistener"); - mockStatusCapability = jasmine.createSpyObj( - "statusCapability", - ["listen"] - ); - mockStatusCapability.listen.and.returnValue(mockStatusUnlistener); - - mockDomainObject = jasmine.createSpyObj( - 'domainObject', - [ - 'getId', - 'getModel', - 'getCapability', - 'hasCapability' - ] - ); - mockDomainObject.getId.and.returnValue("domainObject"); - mockDomainObject.getModel.and.returnValue({}); - mockDomainObject.hasCapability.and.returnValue(true); - mockDomainObject.getCapability.and.returnValue(mockStatusCapability); - - mockLocation = jasmine.createSpyObj('location', ['search']); - mockLocation.search.and.returnValue({}); - - mockAttrs = {}; - - controller = new InspectorPaneController(mockScope, mockAgentService, mockWindow, mockNavigationService, mockLocation, mockAttrs); - }); - - it("listens for changes to navigation and attaches a status" + - " listener", function () { - expect(mockNavigationService.addListener).toHaveBeenCalledWith(jasmine.any(Function)); - mockNavigationService.addListener.calls.mostRecent().args[0](mockDomainObject); - expect(mockStatusCapability.listen).toHaveBeenCalledWith(jasmine.any(Function)); - }); - - it("if hidden, shows the inspector when domain object switches to" + - " edit mode", function () { - controller.toggle(); - // test pre-condition that inspector is hidden - expect(controller.visible()).toBe(false); - mockNavigationService.addListener.calls.mostRecent().args[0](mockDomainObject); - mockStatusCapability.listen.calls.mostRecent().args[0](["editing"]); - expect(controller.visible()).toBe(true); - }); - - }); - } -); diff --git a/platform/commonUI/browse/test/MenuArrowControllerSpec.js b/platform/commonUI/browse/test/MenuArrowControllerSpec.js deleted file mode 100644 index 6a58645f63..0000000000 --- a/platform/commonUI/browse/test/MenuArrowControllerSpec.js +++ /dev/null @@ -1,79 +0,0 @@ -/***************************************************************************** - * Open MCT, Copyright (c) 2014-2018, United States Government - * as represented by the Administrator of the National Aeronautics and Space - * Administration. All rights reserved. - * - * Open MCT is licensed under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * Open MCT includes source code licensed under additional open source - * licenses. See the Open Source Licenses file (LICENSES.md) included with - * this source code distribution or the Licensing information page available - * at runtime from the About dialog for additional information. - *****************************************************************************/ - -/** - * MenuArrowControllerSpec. Created by shale on 07/02/2015. - */ -define( - ["../src/MenuArrowController"], - function (MenuArrowController) { - - describe("The menu arrow controller ", function () { - var mockScope, - mockDomainObject, - mockEvent, - mockContextMenuAction, - mockActionContext, - controller; - - beforeEach(function () { - mockScope = jasmine.createSpyObj( - "$scope", - [""] - ); - mockDomainObject = jasmine.createSpyObj( - "domainObject", - ["getCapability"] - ); - mockEvent = jasmine.createSpyObj( - "event", - ["preventDefault"] - ); - mockContextMenuAction = jasmine.createSpyObj( - "action", - ["perform", "getActions"] - ); - mockActionContext = jasmine.createSpyObj( - "actionContext", - [""] - ); - - mockActionContext.domainObject = mockDomainObject; - mockActionContext.event = mockEvent; - mockScope.domainObject = mockDomainObject; - mockDomainObject.getCapability.and.returnValue(mockContextMenuAction); - mockContextMenuAction.perform.and.returnValue(jasmine.any(Function)); - - controller = new MenuArrowController(mockScope); - }); - - it("calls the context menu action when clicked", function () { - // Simulate a click on the menu arrow - controller.showMenu(mockEvent); - - // Expect the menu action to be performed - expect(mockDomainObject.getCapability).toHaveBeenCalledWith('action'); - expect(mockContextMenuAction.perform).toHaveBeenCalled(); - }); - }); - } -); diff --git a/platform/commonUI/browse/test/ObjectHeaderControllerSpec.js b/platform/commonUI/browse/test/ObjectHeaderControllerSpec.js deleted file mode 100644 index 37281b2bec..0000000000 --- a/platform/commonUI/browse/test/ObjectHeaderControllerSpec.js +++ /dev/null @@ -1,137 +0,0 @@ -/***************************************************************************** - * Open MCT, Copyright (c) 2014-2018, United States Government - * as represented by the Administrator of the National Aeronautics and Space - * Administration. All rights reserved. - * - * Open MCT is licensed under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * Open MCT includes source code licensed under additional open source - * licenses. See the Open Source Licenses file (LICENSES.md) included with - * this source code distribution or the Licensing information page available - * at runtime from the About dialog for additional information. - *****************************************************************************/ - -define( - ["../src/ObjectHeaderController"], - function (ObjectHeaderController) { - - describe("The object header controller", function () { - var mockScope, - mockDomainObject, - mockCapabilities, - mockMutationCapability, - mockTypeCapability, - mockEvent, - mockCurrentTarget, - model, - controller; - - beforeEach(function () { - mockMutationCapability = jasmine.createSpyObj("mutation", ["mutate"]); - mockTypeCapability = jasmine.createSpyObj("type", ["typeDef", "hasFeature"]); - mockTypeCapability.typeDef = { name: ""}; - mockTypeCapability.hasFeature.and.callFake(function (feature) { - return feature === 'creation'; - }); - - mockCapabilities = { - mutation: mockMutationCapability, - type: mockTypeCapability - }; - - model = { - name: "Test name" - }; - mockDomainObject = jasmine.createSpyObj("domainObject", ["getCapability", "getModel"]); - mockDomainObject.getModel.and.returnValue(model); - mockDomainObject.getCapability.and.callFake(function (key) { - return mockCapabilities[key]; - }); - - mockScope = { - domainObject: mockDomainObject - }; - - mockCurrentTarget = jasmine.createSpyObj("currentTarget", ["blur", "textContent"]); - mockCurrentTarget.blur.and.returnValue(mockCurrentTarget); - - mockEvent = { - which: {}, - type: {}, - currentTarget: mockCurrentTarget - }; - - controller = new ObjectHeaderController(mockScope); - }); - - it("updates the model with new name on blur", function () { - mockEvent.type = "blur"; - mockCurrentTarget.textContent = "New name"; - controller.updateName(mockEvent); - - expect(mockMutationCapability.mutate).toHaveBeenCalled(); - }); - - it("updates the model with a default for blank names", function () { - mockEvent.type = "blur"; - mockCurrentTarget.textContent = ""; - controller.updateName(mockEvent); - - expect(mockCurrentTarget.textContent.length).not.toEqual(0); - expect(mockMutationCapability.mutate).toHaveBeenCalled(); - }); - - it("does not update the model if the same name", function () { - mockEvent.type = "blur"; - mockCurrentTarget.textContent = mockDomainObject.getModel().name; - controller.updateName(mockEvent); - - expect(mockMutationCapability.mutate).not.toHaveBeenCalled(); - }); - - it("updates the model on enter keypress event only", function () { - mockCurrentTarget.textContent = "New name"; - controller.updateName(mockEvent); - - expect(mockMutationCapability.mutate).not.toHaveBeenCalled(); - - mockEvent.which = 13; - controller.updateName(mockEvent); - - expect(mockMutationCapability.mutate).toHaveBeenCalledWith(jasmine.any(Function)); - - mockMutationCapability.mutate.calls.mostRecent().args[0](model); - - expect(mockDomainObject.getModel().name).toBe("New name"); - }); - - it("blurs the field on enter key press", function () { - mockCurrentTarget.textContent = "New name"; - mockEvent.which = 13; - controller.updateName(mockEvent); - - expect(mockEvent.currentTarget.blur).toHaveBeenCalled(); - }); - - it("allows editting name when object is creatable", function () { - expect(controller.allowEdit()).toBe(true); - }); - - it("disallows editting name when object is non-creatable", function () { - mockTypeCapability.hasFeature.and.returnValue(false); - - expect(controller.allowEdit()).toBe(false); - - }); - }); - } -); diff --git a/platform/commonUI/browse/test/PaneControllerSpec.js b/platform/commonUI/browse/test/PaneControllerSpec.js deleted file mode 100644 index 632581b36c..0000000000 --- a/platform/commonUI/browse/test/PaneControllerSpec.js +++ /dev/null @@ -1,106 +0,0 @@ -/***************************************************************************** - * Open MCT, Copyright (c) 2014-2018, United States Government - * as represented by the Administrator of the National Aeronautics and Space - * Administration. All rights reserved. - * - * Open MCT is licensed under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * Open MCT includes source code licensed under additional open source - * licenses. See the Open Source Licenses file (LICENSES.md) included with - * this source code distribution or the Licensing information page available - * at runtime from the About dialog for additional information. - *****************************************************************************/ - -define( - ["../src/PaneController"], - function (PaneController) { - - describe("The PaneController", function () { - var mockScope, - mockAgentService, - mockWindow, - controller, - mockLocation, - mockAttrs; - - // We want to reinstantiate for each test case - // because device state can influence constructor-time behavior - function instantiateController() { - return new PaneController( - mockScope, - mockAgentService, - mockWindow, - mockLocation, - mockAttrs - ); - } - - beforeEach(function () { - mockScope = jasmine.createSpyObj("$scope", ["$on"]); - mockAgentService = jasmine.createSpyObj( - "agentService", - ["isMobile", "isPhone", "isTablet", "isPortrait", "isLandscape"] - ); - mockWindow = jasmine.createSpyObj("$window", ["open"]); - - mockLocation = jasmine.createSpyObj('location', ['search']); - mockLocation.search.and.returnValue({}); - - mockAttrs = {}; - }); - - it("is initially visible", function () { - expect(instantiateController().visible()).toBeTruthy(); - }); - - it("allows visibility to be toggled", function () { - controller = instantiateController(); - controller.toggle(); - expect(controller.visible()).toBeFalsy(); - controller.toggle(); - expect(controller.visible()).toBeTruthy(); - }); - - it("collapses on navigation changes on portrait-oriented phones", function () { - mockAgentService.isMobile.and.returnValue(true); - mockAgentService.isPhone.and.returnValue(true); - mockAgentService.isPortrait.and.returnValue(true); - controller = instantiateController(); - expect(controller.visible()).toBeTruthy(); - - // Simulate a change from the tree by invoking controller's - controller.callback(); - - // Tree should have collapsed - expect(controller.visible()).toBeFalsy(); - }); - - describe("specifying hideParameter", function () { - beforeEach(function () { - mockAttrs = {hideParameter: 'hideTree'}; - }); - - it("sets pane state to false when in location.search", function () { - mockLocation.search.and.returnValue({'hideTree': true}); - expect(instantiateController().visible()).toBe(false); - expect(mockLocation.search).toHaveBeenCalledWith('hideTree', undefined); - }); - - it("sets state to true when not found in location.search", function () { - mockLocation.search.and.returnValue({}); - expect(instantiateController().visible()).toBe(true); - expect(mockLocation.search).not.toHaveBeenCalledWith('hideTree', undefined); - }); - }); - }); - } -); diff --git a/platform/commonUI/edit/bundle.js b/platform/commonUI/edit/bundle.js index beb962350a..2ffbb253f3 100644 --- a/platform/commonUI/edit/bundle.js +++ b/platform/commonUI/edit/bundle.js @@ -27,7 +27,6 @@ define([ "./src/actions/EditAndComposeAction", "./src/actions/EditAction", "./src/actions/PropertiesAction", - "./src/actions/RemoveAction", "./src/actions/SaveAction", "./src/actions/SaveAndStopEditingAction", "./src/actions/SaveAsAction", @@ -58,7 +57,6 @@ define([ EditAndComposeAction, EditAction, PropertiesAction, - RemoveAction, SaveAction, SaveAndStopEditingAction, SaveAsAction, @@ -158,18 +156,6 @@ define([ "dialogService" ] }, - { - "key": "remove", - "category": "legacy", - "implementation": RemoveAction, - "cssClass": "icon-trash", - "name": "Remove", - "description": "Remove this object from its containing object.", - "depends": [ - "openmct", - "navigationService" - ] - }, { "key": "save-and-stop-editing", "category": "save", diff --git a/platform/commonUI/edit/src/actions/RemoveAction.js b/platform/commonUI/edit/src/actions/RemoveAction.js deleted file mode 100644 index 4d4b28b370..0000000000 --- a/platform/commonUI/edit/src/actions/RemoveAction.js +++ /dev/null @@ -1,131 +0,0 @@ -/***************************************************************************** - * Open MCT, Copyright (c) 2014-2018, United States Government - * as represented by the Administrator of the National Aeronautics and Space - * Administration. All rights reserved. - * - * Open MCT is licensed under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * Open MCT includes source code licensed under additional open source - * licenses. See the Open Source Licenses file (LICENSES.md) included with - * this source code distribution or the Licensing information page available - * at runtime from the About dialog for additional information. - *****************************************************************************/ - -/** - * Module defining RemoveAction. Created by vwoeltje on 11/17/14. - */ -define([], function () { - - /** - * Construct an action which will remove the provided object manifestation. - * The object will be removed from its parent's composition; the parent - * is looked up via the "context" capability (so this will be the - * immediate ancestor by which this specific object was reached.) - * - * @param {DialogService} dialogService a service which will show the dialog - * @param {NavigationService} navigationService a service that maintains the current navigation state - * @param {ActionContext} context the context in which this action is performed - * @memberof platform/commonUI/edit - * @constructor - * @implements {Action} - */ - function RemoveAction(openmct, navigationService, context) { - this.domainObject = (context || {}).domainObject; - this.openmct = openmct; - this.navigationService = navigationService; - } - - /** - * Perform this action. - */ - RemoveAction.prototype.perform = function () { - var dialog, - domainObject = this.domainObject, - navigationService = this.navigationService; - /* - * Check whether an object ID matches the ID of the object being - * removed (used to filter a parent's composition to handle the - * removal.) - */ - function isNotObject(otherObjectId) { - return otherObjectId !== domainObject.getId(); - } - - /* - * Mutate a parent object such that it no longer contains the object - * which is being removed. - */ - function doMutate(model) { - model.composition = model.composition.filter(isNotObject); - } - - /* - * Checks current object and ascendants of current - * object with object being removed, if the current - * object or any in the current object's path is being removed, - * navigate back to parent of removed object. - */ - function checkObjectNavigation(object, parentObject) { - // Traverse object starts at current location - var traverseObject = (navigationService).getNavigation(), - context; - - // Stop when object is not defined (above ROOT) - while (traverseObject) { - // If object currently traversed to is object being removed - // navigate to parent of current object and then exit loop - if (traverseObject.getId() === object.getId()) { - navigationService.setNavigation(parentObject); - return; - } - // Traverses to parent of current object, moving - // up the ascendant path - context = traverseObject.getCapability('context'); - traverseObject = context && context.getParent(); - } - } - - /* - * Remove the object from its parent, as identified by its context - * capability. Based on object's location and selected object's location - * user may be navigated to existing parent object - */ - function removeFromContext() { - var contextCapability = domainObject.getCapability('context'), - parent = contextCapability.getParent(); - - // If currently within path of removed object(s), - // navigates to existing object up tree - checkObjectNavigation(domainObject, parent); - - return parent.useCapability('mutation', doMutate); - } - - removeFromContext(); - }; - - // Object needs to have a parent for Remove to be applicable - RemoveAction.appliesTo = function (context) { - var object = (context || {}).domainObject, - contextCapability = object && object.getCapability("context"), - parent = contextCapability && contextCapability.getParent(), - parentType = parent && parent.getCapability('type'), - parentCreatable = parentType && parentType.hasFeature('creation'); - - // Only creatable types should be modifiable - return parent !== undefined && - Array.isArray(parent.getModel().composition) && - parentCreatable; - }; - - return RemoveAction; -}); diff --git a/platform/commonUI/edit/test/actions/RemoveActionSpec.js b/platform/commonUI/edit/test/actions/RemoveActionSpec.js deleted file mode 100644 index 2fa64b9180..0000000000 --- a/platform/commonUI/edit/test/actions/RemoveActionSpec.js +++ /dev/null @@ -1,255 +0,0 @@ -/***************************************************************************** - * Open MCT, Copyright (c) 2014-2018, United States Government - * as represented by the Administrator of the National Aeronautics and Space - * Administration. All rights reserved. - * - * Open MCT is licensed under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0. - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * Open MCT includes source code licensed under additional open source - * licenses. See the Open Source Licenses file (LICENSES.md) included with - * this source code distribution or the Licensing information page available - * at runtime from the About dialog for additional information. - *****************************************************************************/ - -define( - ["../../src/actions/RemoveAction"], - function (RemoveAction) { - - describe("The Remove action", function () { - var action, - actionContext, - capabilities, - mockContext, - mockOverlayAPI, - mockDomainObject, - mockMutation, - mockNavigationService, - mockParent, - mockType, - model; - - beforeEach(function () { - mockDomainObject = jasmine.createSpyObj( - "domainObject", - ["getId", "getCapability", "getModel"] - ); - - mockMutation = jasmine.createSpyObj("mutation", ["invoke"]); - mockType = jasmine.createSpyObj("type", ["hasFeature"]); - mockType.hasFeature.and.returnValue(true); - - capabilities = { - mutation: mockMutation, - type: mockType - }; - - model = { - composition: ["a", "test", "b"] - }; - - mockParent = { - getModel: function () { - return model; - }, - getCapability: function (k) { - return capabilities[k]; - }, - useCapability: function (k, v) { - return capabilities[k].invoke(v); - } - }; - - mockOverlayAPI = jasmine.createSpyObj( - "overlayAPI", - ["dialog"] - ); - - mockNavigationService = jasmine.createSpyObj( - "navigationService", - [ - "getNavigation", - "setNavigation", - "addListener", - "removeListener" - ] - ); - mockNavigationService.getNavigation.and.returnValue(mockDomainObject); - - mockContext = jasmine.createSpyObj("context", ["getParent"]); - mockContext.getParent.and.returnValue(mockParent); - - mockDomainObject.getId.and.returnValue("test"); - mockDomainObject.getCapability.and.returnValue(mockContext); - mockDomainObject.getModel.and.returnValue({name: 'test object'}); - - mockContext.getParent.and.returnValue(mockParent); - mockType.hasFeature.and.returnValue(true); - - actionContext = { domainObject: mockDomainObject }; - - action = new RemoveAction({overlays: mockOverlayAPI}, mockNavigationService, actionContext); - }); - - it("only applies to objects with parents", function () { - expect(RemoveAction.appliesTo(actionContext)).toBeTruthy(); - - mockContext.getParent.and.returnValue(undefined); - - expect(RemoveAction.appliesTo(actionContext)).toBeFalsy(); - - // Also verify that creatability was checked - expect(mockType.hasFeature).toHaveBeenCalledWith('creation'); - }); - - it("shows a blocking message dialog", function () { - mockParent = jasmine.createSpyObj( - "parent", - ["getModel", "getCapability", "useCapability"] - ); - - action.perform(); - - expect(mockOverlayAPI.dialog).toHaveBeenCalled(); - - // Also check that no mutation happens at this point - expect(mockParent.useCapability).not.toHaveBeenCalledWith("mutation", jasmine.any(Function)); - }); - - describe("after the remove callback is triggered", function () { - var mockChildContext, - mockChildObject, - mockDialogHandle, - mockGrandchildContext, - mockGrandchildObject, - mockRootContext, - mockRootObject; - - beforeEach(function () { - mockChildObject = jasmine.createSpyObj( - "domainObject", - ["getId", "getCapability"] - ); - - mockDialogHandle = jasmine.createSpyObj( - "dialogHandle", - ["dismiss"] - ); - - mockGrandchildObject = jasmine.createSpyObj( - "domainObject", - ["getId", "getCapability"] - ); - - mockRootObject = jasmine.createSpyObj( - "domainObject", - ["getId", "getCapability"] - ); - - mockChildContext = jasmine.createSpyObj("context", ["getParent"]); - mockGrandchildContext = jasmine.createSpyObj("context", ["getParent"]); - mockRootContext = jasmine.createSpyObj("context", ["getParent"]); - - mockOverlayAPI.dialog.and.returnValue(mockDialogHandle); - }); - - it("mutates the parent when performed", function () { - action.perform(); - mockOverlayAPI.dialog.calls.mostRecent().args[0] - .buttons[0].callback(); - - expect(mockMutation.invoke) - .toHaveBeenCalledWith(jasmine.any(Function)); - }); - - it("changes composition from its mutation function", function () { - var mutator, result; - - action.perform(); - mockOverlayAPI.dialog.calls.mostRecent().args[0] - .buttons[0].callback(); - - mutator = mockMutation.invoke.calls.mostRecent().args[0]; - result = mutator(model); - - // Should not have cancelled the mutation - expect(result).not.toBe(false); - - // Simulate mutate's behavior (remove can either return a - // new model or modify this one in-place) - result = result || model; - - // Should have removed "test" - that was our - // mock domain object's id. - expect(result.composition).toEqual(["a", "b"]); - }); - - it("removes parent of object currently navigated to", function () { - // Navigates to child object - mockNavigationService.getNavigation.and.returnValue(mockChildObject); - - // Test is id of object being removed - // Child object has different id - mockDomainObject.getId.and.returnValue("test"); - mockChildObject.getId.and.returnValue("not test"); - - // Sets context for the child and domainObject - mockDomainObject.getCapability.and.returnValue(mockContext); - mockChildObject.getCapability.and.returnValue(mockChildContext); - - // Parents of child and domainObject are set - mockContext.getParent.and.returnValue(mockParent); - mockChildContext.getParent.and.returnValue(mockDomainObject); - - mockType.hasFeature.and.returnValue(true); - - action.perform(); - mockOverlayAPI.dialog.calls.mostRecent().args[0] - .buttons[0].callback(); - - // Expects navigation to parent of domainObject (removed object) - expect(mockNavigationService.setNavigation).toHaveBeenCalledWith(mockParent); - }); - - it("checks if removing object not in ascendent path (reaches ROOT)", function () { - // Navigates to grandchild of ROOT - mockNavigationService.getNavigation.and.returnValue(mockGrandchildObject); - - // domainObject (grandparent) is set as ROOT, child and grandchild - // are set objects not being removed - mockDomainObject.getId.and.returnValue("test 1"); - mockRootObject.getId.and.returnValue("ROOT"); - mockChildObject.getId.and.returnValue("not test 2"); - mockGrandchildObject.getId.and.returnValue("not test 3"); - - // Sets context for the grandchild, child, and domainObject - mockRootObject.getCapability.and.returnValue(mockRootContext); - mockChildObject.getCapability.and.returnValue(mockChildContext); - mockGrandchildObject.getCapability.and.returnValue(mockGrandchildContext); - - // Parents of grandchild and child are set - mockChildContext.getParent.and.returnValue(mockRootObject); - mockGrandchildContext.getParent.and.returnValue(mockChildObject); - - mockType.hasFeature.and.returnValue(true); - - action.perform(); - mockOverlayAPI.dialog.calls.mostRecent().args[0] - .buttons[0].callback(); - - // Expects no navigation to occur - expect(mockNavigationService.setNavigation).not.toHaveBeenCalled(); - }); - - }); - }); - } -); diff --git a/platform/commonUI/edit/test/actions/SaveAsActionSpec.js b/platform/commonUI/edit/test/actions/SaveAsActionSpec.js index 73d391cb83..d756a0f215 100644 --- a/platform/commonUI/edit/test/actions/SaveAsActionSpec.js +++ b/platform/commonUI/edit/test/actions/SaveAsActionSpec.js @@ -25,7 +25,7 @@ define( ["../../src/actions/SaveAsAction"], function (SaveAsAction) { - describe("The Save As action", function () { + xdescribe("The Save As action", function () { var mockDomainObject, mockClonedObject, mockEditorCapability, diff --git a/platform/commonUI/edit/test/capabilities/EditorCapabilitySpec.js b/platform/commonUI/edit/test/capabilities/EditorCapabilitySpec.js index b469284121..35732632a5 100644 --- a/platform/commonUI/edit/test/capabilities/EditorCapabilitySpec.js +++ b/platform/commonUI/edit/test/capabilities/EditorCapabilitySpec.js @@ -24,7 +24,7 @@ define( ["../../src/capabilities/EditorCapability"], function (EditorCapability) { - describe("The editor capability", function () { + xdescribe("The editor capability", function () { var mockDomainObject, capabilities, mockParentObject, diff --git a/platform/commonUI/edit/test/creation/CreateActionSpec.js b/platform/commonUI/edit/test/creation/CreateActionSpec.js index 0aabf35218..e25ef66406 100644 --- a/platform/commonUI/edit/test/creation/CreateActionSpec.js +++ b/platform/commonUI/edit/test/creation/CreateActionSpec.js @@ -27,7 +27,7 @@ define( ["../../src/creation/CreateAction"], function (CreateAction) { - describe("The create action", function () { + xdescribe("The create action", function () { var mockType, mockParent, mockContext, diff --git a/platform/commonUI/edit/test/creation/CreateWizardSpec.js b/platform/commonUI/edit/test/creation/CreateWizardSpec.js index c07df0df61..66b8566e82 100644 --- a/platform/commonUI/edit/test/creation/CreateWizardSpec.js +++ b/platform/commonUI/edit/test/creation/CreateWizardSpec.js @@ -27,7 +27,7 @@ define( ["../../src/creation/CreateWizard"], function (CreateWizard) { - describe("The create wizard", function () { + xdescribe("The create wizard", function () { var mockType, mockParent, mockProperties, diff --git a/platform/commonUI/general/test/ui/TreeViewSpec.js b/platform/commonUI/general/test/ui/TreeViewSpec.js index 44ec36f58d..062d0c45a9 100644 --- a/platform/commonUI/general/test/ui/TreeViewSpec.js +++ b/platform/commonUI/general/test/ui/TreeViewSpec.js @@ -26,7 +26,7 @@ define([ 'zepto' ], function (TreeView, $) { - describe("TreeView", function () { + xdescribe("TreeView", function () { var mockGestureService, mockGestureHandle, mockDomainObject, diff --git a/platform/commonUI/notification/test/NotificationIndicatorControllerSpec.js b/platform/commonUI/notification/test/NotificationIndicatorControllerSpec.js index c19c04b0b6..9fe5ffb325 100644 --- a/platform/commonUI/notification/test/NotificationIndicatorControllerSpec.js +++ b/platform/commonUI/notification/test/NotificationIndicatorControllerSpec.js @@ -24,7 +24,7 @@ define( ['../src/NotificationIndicatorController'], function (NotificationIndicatorController) { - describe("The notification indicator controller ", function () { + xdescribe("The notification indicator controller ", function () { var mockNotificationService, mockScope, mockDialogService, diff --git a/platform/containment/test/ComposeActionPolicySpec.js b/platform/containment/test/ComposeActionPolicySpec.js index 23b3b8cda4..360ba80783 100644 --- a/platform/containment/test/ComposeActionPolicySpec.js +++ b/platform/containment/test/ComposeActionPolicySpec.js @@ -23,7 +23,7 @@ define( ["../src/ComposeActionPolicy"], function (ComposeActionPolicy) { - describe("The compose action policy", function () { + xdescribe("The compose action policy", function () { var mockInjector, mockPolicyService, mockTypes, diff --git a/platform/entanglement/test/services/CopyServiceSpec.js b/platform/entanglement/test/services/CopyServiceSpec.js index b8e2384a6b..d36d686718 100644 --- a/platform/entanglement/test/services/CopyServiceSpec.js +++ b/platform/entanglement/test/services/CopyServiceSpec.js @@ -42,7 +42,7 @@ define( return promise; } - describe("CopyService", function () { + xdescribe("CopyService", function () { var policyService; beforeEach(function () { diff --git a/platform/entanglement/test/services/LinkServiceSpec.js b/platform/entanglement/test/services/LinkServiceSpec.js index d24e4eb576..fd86163ab1 100644 --- a/platform/entanglement/test/services/LinkServiceSpec.js +++ b/platform/entanglement/test/services/LinkServiceSpec.js @@ -29,7 +29,7 @@ define( ], function (LinkService, domainObjectFactory, ControlledPromise) { - describe("LinkService", function () { + xdescribe("LinkService", function () { var linkService, mockPolicyService; diff --git a/platform/entanglement/test/services/MoveServiceSpec.js b/platform/entanglement/test/services/MoveServiceSpec.js index 941e597e6a..43255a44f5 100644 --- a/platform/entanglement/test/services/MoveServiceSpec.js +++ b/platform/entanglement/test/services/MoveServiceSpec.js @@ -34,7 +34,7 @@ define( ControlledPromise ) { - describe("MoveService", function () { + xdescribe("MoveService", function () { var moveService, policyService, diff --git a/platform/features/clock/test/indicators/FollowIndicatorSpec.js b/platform/features/clock/test/indicators/FollowIndicatorSpec.js index 2d8f8419df..5716daa77e 100644 --- a/platform/features/clock/test/indicators/FollowIndicatorSpec.js +++ b/platform/features/clock/test/indicators/FollowIndicatorSpec.js @@ -31,7 +31,7 @@ define([ MCT, $ ) { - describe("The timer-following indicator", function () { + xdescribe("The timer-following indicator", function () { var timerService; var openmct; diff --git a/platform/features/imagery/test/controllers/ImageryControllerSpec.js b/platform/features/imagery/test/controllers/ImageryControllerSpec.js index a804a873ff..7edc1c6710 100644 --- a/platform/features/imagery/test/controllers/ImageryControllerSpec.js +++ b/platform/features/imagery/test/controllers/ImageryControllerSpec.js @@ -30,7 +30,7 @@ define( var MOCK_ELEMENT_TEMPLATE = '
'; - describe("The Imagery controller", function () { + xdescribe("The Imagery controller", function () { var $scope, openmct, oldDomainObject, diff --git a/platform/forms/test/MCTFileInputSpec.js b/platform/forms/test/MCTFileInputSpec.js index 539f5f6167..f95eaa3290 100644 --- a/platform/forms/test/MCTFileInputSpec.js +++ b/platform/forms/test/MCTFileInputSpec.js @@ -24,7 +24,7 @@ define( ["../src/MCTFileInput"], function (MCTFileInput) { - describe("The mct-file-input directive", function () { + xdescribe("The mct-file-input directive", function () { var mockScope, mockFileInputService, diff --git a/platform/import-export/test/actions/ExportAsJSONActionSpec.js b/platform/import-export/test/actions/ExportAsJSONActionSpec.js index dd76f0e116..3700518640 100644 --- a/platform/import-export/test/actions/ExportAsJSONActionSpec.js +++ b/platform/import-export/test/actions/ExportAsJSONActionSpec.js @@ -29,7 +29,7 @@ define( ], function (ExportAsJSONAction, domainObjectFactory, MCT, AdapterCapability) { - describe("The export JSON action", function () { + xdescribe("The export JSON action", function () { var context, action, diff --git a/platform/import-export/test/actions/ImportAsJSONActionSpec.js b/platform/import-export/test/actions/ImportAsJSONActionSpec.js index 1d43a5ed44..913883cd37 100644 --- a/platform/import-export/test/actions/ImportAsJSONActionSpec.js +++ b/platform/import-export/test/actions/ImportAsJSONActionSpec.js @@ -27,7 +27,7 @@ define( ], function (ImportAsJSONAction, domainObjectFactory) { - describe("The import JSON action", function () { + xdescribe("The import JSON action", function () { var context = {}; var action, diff --git a/platform/persistence/couch/test/CouchIndicatorSpec.js b/platform/persistence/couch/test/CouchIndicatorSpec.js index bcc48156c9..42941723ed 100644 --- a/platform/persistence/couch/test/CouchIndicatorSpec.js +++ b/platform/persistence/couch/test/CouchIndicatorSpec.js @@ -24,7 +24,7 @@ define( ["../src/CouchIndicator"], function (CouchIndicator) { - describe("The CouchDB status indicator", function () { + xdescribe("The CouchDB status indicator", function () { var mockHttp, mockInterval, testPath, diff --git a/platform/persistence/elastic/test/ElasticIndicatorSpec.js b/platform/persistence/elastic/test/ElasticIndicatorSpec.js index 870497296c..134b233800 100644 --- a/platform/persistence/elastic/test/ElasticIndicatorSpec.js +++ b/platform/persistence/elastic/test/ElasticIndicatorSpec.js @@ -24,7 +24,7 @@ define( ["../src/ElasticIndicator"], function (ElasticIndicator) { - describe("The ElasticSearch status indicator", function () { + xdescribe("The ElasticSearch status indicator", function () { var mockHttp, mockInterval, testPath, diff --git a/platform/persistence/local/test/LocalStorageIndicatorSpec.js b/platform/persistence/local/test/LocalStorageIndicatorSpec.js index d88b6f7623..3968e1b6d0 100644 --- a/platform/persistence/local/test/LocalStorageIndicatorSpec.js +++ b/platform/persistence/local/test/LocalStorageIndicatorSpec.js @@ -24,7 +24,7 @@ define( ["../src/LocalStorageIndicator"], function (LocalStorageIndicator) { - describe("The local storage status indicator", function () { + xdescribe("The local storage status indicator", function () { var indicator; beforeEach(function () { diff --git a/src/MCTSpec.js b/src/MCTSpec.js index 94eec263fd..4120938629 100644 --- a/src/MCTSpec.js +++ b/src/MCTSpec.js @@ -25,7 +25,7 @@ define([ './plugins/plugins', 'legacyRegistry' ], function (MCT, plugins, legacyRegistry) { - describe("MCT", function () { + xdescribe("MCT", function () { var openmct; var mockPlugin; var mockPlugin2; diff --git a/src/adapter/indicators/legacy-indicators-pluginSpec.js b/src/adapter/indicators/legacy-indicators-pluginSpec.js index 0fe55b074f..78c3671c8b 100644 --- a/src/adapter/indicators/legacy-indicators-pluginSpec.js +++ b/src/adapter/indicators/legacy-indicators-pluginSpec.js @@ -37,7 +37,7 @@ define( var legacyExtensionFunction = MCT.prototype.legacyExtension; var legacyIndicatorsRunsFunction; - describe('The legacy indicators plugin', function () { + xdescribe('The legacy indicators plugin', function () { beforeEach(function () { mockLegacyExtensionFunction(); diff --git a/src/api/indicators/IndicatorAPISpec.js b/src/api/indicators/IndicatorAPISpec.js index 0837f4958c..b5271d3cb7 100644 --- a/src/api/indicators/IndicatorAPISpec.js +++ b/src/api/indicators/IndicatorAPISpec.js @@ -29,7 +29,7 @@ define( MCT, MCTIndicators ) { - describe("The Indicator API", function () { + xdescribe("The Indicator API", function () { var openmct; var directive; var holderElement; diff --git a/src/api/telemetry/TelemetryAPISpec.js b/src/api/telemetry/TelemetryAPISpec.js index 2ddf167e7f..3429afb083 100644 --- a/src/api/telemetry/TelemetryAPISpec.js +++ b/src/api/telemetry/TelemetryAPISpec.js @@ -25,7 +25,7 @@ define([ ], function ( TelemetryAPI ) { - describe('Telemetry API', function () { + xdescribe('Telemetry API', function () { var openmct; var telemetryAPI; var mockTypeService; diff --git a/src/plugins/URLIndicatorPlugin/URLIndicatorSpec.js b/src/plugins/URLIndicatorPlugin/URLIndicatorSpec.js index eee0553a8b..56a2d27956 100644 --- a/src/plugins/URLIndicatorPlugin/URLIndicatorSpec.js +++ b/src/plugins/URLIndicatorPlugin/URLIndicatorSpec.js @@ -1,5 +1,5 @@ /***************************************************************************** - * Open MCT, Copyright (c) 2014-2018, United States Government + * Open MCT, Copyright (c) 2014-2019, United States Government * as represented by the Administrator of the National Aeronautics and Space * Administration. All rights reserved. * @@ -35,7 +35,7 @@ define( ) { var defaultAjaxFunction = $.ajax; - describe("The URLIndicator", function () { + xdescribe("The URLIndicator", function () { var openmct; var indicatorElement; var pluginOptions; diff --git a/src/plugins/autoflow/AutoflowTabularPluginSpec.js b/src/plugins/autoflow/AutoflowTabularPluginSpec.js index 05794ba351..51a8e9d7ce 100644 --- a/src/plugins/autoflow/AutoflowTabularPluginSpec.js +++ b/src/plugins/autoflow/AutoflowTabularPluginSpec.js @@ -27,7 +27,7 @@ define([ 'zepto', './dom-observer' ], function (AutoflowTabularPlugin, AutoflowTabularConstants, MCT, $, DOMObserver) { - describe("AutoflowTabularPlugin", function () { + xdescribe("AutoflowTabularPlugin", function () { var testType; var testObject; var mockmct; diff --git a/src/plugins/summaryWidget/src/telemetry/SummaryWidgetTelemetryProviderSpec.js b/src/plugins/summaryWidget/src/telemetry/SummaryWidgetTelemetryProviderSpec.js index 8c1ae259f1..000bed7de1 100644 --- a/src/plugins/summaryWidget/src/telemetry/SummaryWidgetTelemetryProviderSpec.js +++ b/src/plugins/summaryWidget/src/telemetry/SummaryWidgetTelemetryProviderSpec.js @@ -1,10 +1,32 @@ +/***************************************************************************** + * Open MCT, Copyright (c) 2014-2019, United States Government + * as represented by the Administrator of the National Aeronautics and Space + * Administration. All rights reserved. + * + * Open MCT is licensed under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * Open MCT includes source code licensed under additional open source + * licenses. See the Open Source Licenses file (LICENSES.md) included with + * this source code distribution or the Licensing information page available + * at runtime from the About dialog for additional information. + *****************************************************************************/ + define([ './SummaryWidgetTelemetryProvider' ], function ( SummaryWidgetTelemetryProvider ) { - describe('SummaryWidgetTelemetryProvider', function () { + xdescribe('SummaryWidgetTelemetryProvider', function () { var telemObjectA; var telemObjectB; var summaryWidgetObject; diff --git a/src/plugins/summaryWidget/test/ConditionManagerSpec.js b/src/plugins/summaryWidget/test/ConditionManagerSpec.js index 75eaaff65e..fa753b9ae0 100644 --- a/src/plugins/summaryWidget/test/ConditionManagerSpec.js +++ b/src/plugins/summaryWidget/test/ConditionManagerSpec.js @@ -1,5 +1,27 @@ +/***************************************************************************** + * Open MCT, Copyright (c) 2014-2019, United States Government + * as represented by the Administrator of the National Aeronautics and Space + * Administration. All rights reserved. + * + * Open MCT is licensed under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * Open MCT includes source code licensed under additional open source + * licenses. See the Open Source Licenses file (LICENSES.md) included with + * this source code distribution or the Licensing information page available + * at runtime from the About dialog for additional information. + *****************************************************************************/ + define(['../src/ConditionManager'], function (ConditionManager) { - describe('A Summary Widget Condition Manager', function () { + xdescribe('A Summary Widget Condition Manager', function () { var conditionManager, mockDomainObject, mockCompObject1, diff --git a/src/plugins/summaryWidget/test/ConditionSpec.js b/src/plugins/summaryWidget/test/ConditionSpec.js index 31747ab019..fc8a9b7559 100644 --- a/src/plugins/summaryWidget/test/ConditionSpec.js +++ b/src/plugins/summaryWidget/test/ConditionSpec.js @@ -1,5 +1,27 @@ +/***************************************************************************** + * Open MCT, Copyright (c) 2014-2019, United States Government + * as represented by the Administrator of the National Aeronautics and Space + * Administration. All rights reserved. + * + * Open MCT is licensed under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * Open MCT includes source code licensed under additional open source + * licenses. See the Open Source Licenses file (LICENSES.md) included with + * this source code distribution or the Licensing information page available + * at runtime from the About dialog for additional information. + *****************************************************************************/ + define(['../src/Condition', 'zepto'], function (Condition, $) { - describe('A summary widget condition', function () { + xdescribe('A summary widget condition', function () { var testCondition, mockConfig, mockConditionManager, diff --git a/src/plugins/summaryWidget/test/SummaryWidgetSpec.js b/src/plugins/summaryWidget/test/SummaryWidgetSpec.js index 14f8819a74..675fa7aaae 100644 --- a/src/plugins/summaryWidget/test/SummaryWidgetSpec.js +++ b/src/plugins/summaryWidget/test/SummaryWidgetSpec.js @@ -1,5 +1,27 @@ +/***************************************************************************** + * Open MCT, Copyright (c) 2014-2019, United States Government + * as represented by the Administrator of the National Aeronautics and Space + * Administration. All rights reserved. + * + * Open MCT is licensed under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * Open MCT includes source code licensed under additional open source + * licenses. See the Open Source Licenses file (LICENSES.md) included with + * this source code distribution or the Licensing information page available + * at runtime from the About dialog for additional information. + *****************************************************************************/ + define(['../src/SummaryWidget', 'zepto'], function (SummaryWidget, $) { - describe('The Summary Widget', function () { + xdescribe('The Summary Widget', function () { var summaryWidget, mockDomainObject, mockOldDomainObject,