diff --git a/platform/features/rtevents/src/RTEventListController.js b/platform/features/rtevents/src/RTEventListController.js deleted file mode 100644 index b84d339bd6..0000000000 --- a/platform/features/rtevents/src/RTEventListController.js +++ /dev/null @@ -1,139 +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. - *****************************************************************************/ -/*global define*/ - -/** - * Module defining RTEventListController. - * Created by shale on 06/25/2014. Based on RT Scrolling lists. - */ -define( - ["./DomainColumn", "./RangeColumn"], - function (DomainColumn, RangeColumn) { - "use strict"; - - var ROW_COUNT = 100; - - /** - * The RTEventListController is responsible for populating - * the contents of the messages view. - * @constructor - */ - function RTEventListController($scope, telemetryHandler, telemetryFormatter) { - var handle, - lastUpdated = {}, - lastIds = [], - columns = [], - headers = [], - rows = []; - - function getTelemetryObjects() { - return handle ? handle.getTelemetryObjects() : []; - } - - function idsChanged(telemetryObjects) { - function mismatch(id, index) { - return id !== telemetryObjects[index].getId(); - } - - return lastIds.length !== telemetryObjects.length || - lastIds.some(mismatch); - } - - function setupColumns(telemetryObjects) { - var id = $scope.domainObject && $scope.domainObject.getId(), - firstId = - telemetryObjects[0] && telemetryObjects[0].getId(); - - columns = []; - - if (telemetryObjects > 1 || id !== firstId) { - columns.push(new NameColumn()); - } - columns.push(new DomainColumn(telemetryFormatter)); - columns.push(new RangeColumn()); - - headers = columns.map(function (column) { - return column.getTitle(); - }); - } - - function updateObjects(telemetryObjects) { - if (idsChanged(telemetryObjects)) { - setupColumns(telemetryObjects); - lastIds = telemetryObjects.map(function (telemetryObject) { - return telemetryObject.getId(); - }); - } - } - - function addRow(telemetryObject) { - var id = telemetryObject.getId(), - domainValue = handle.getDomainValue(telemetryObject); - if (lastUpdated[id] !== domainValue && - domainValue !== undefined) { - // Instead of unshift (scrolling), use push (messages) - rows.push(columns.map(function (column) { - return column.getValue(telemetryObject, handle); - })); - rows.splice(ROW_COUNT, Number.MAX_VALUE); - lastUpdated[id] = domainValue; - } - } - - function updateValues() { - getTelemetryObjects().forEach(addRow); - } - - function releaseSubscription() { - if (handle) { - handle.unsubscribe(); - } - } - - function makeSubscription(domainObject) { - releaseSubscription(); - rows = []; - handle = telemetryHandler.handle( - domainObject, - updateValues, - true - ); - } - - $scope.$on("$destroy", releaseSubscription); - - $scope.$watch("domainObject", makeSubscription); - $scope.$watch(getTelemetryObjects, updateObjects); - - return { - rows: function () { - return rows; - }, - headers: function () { - return headers; - } - }; - } - - return RTEventListController; - } -); diff --git a/platform/features/rtevents/test/DomainColumnSpec.js b/platform/features/rtevents/test/DomainColumnSpec.js deleted file mode 100644 index dc1011648f..0000000000 --- a/platform/features/rtevents/test/DomainColumnSpec.js +++ /dev/null @@ -1,84 +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. - *****************************************************************************/ -/*global define,describe,it,expect,beforeEach,waitsFor,jasmine*/ - -/** - * RTEventSpec. Created by vwoeltje on 11/6/14. Modified by shale on 06/23/2015. - */ -define( - ["../src/DomainColumn"], - function (DomainColumn) { - "use strict"; - - var TEST_DOMAIN_VALUE = "some formatted domain value"; - - describe("An event list domain column", function () { - var mockDataSet, - testMetadata, - mockFormatter, - column; - - beforeEach(function () { - mockDataSet = jasmine.createSpyObj( - "data", - [ "getDomainValue" ] - ); - mockFormatter = jasmine.createSpyObj( - "formatter", - [ "formatDomainValue", "formatRangeValue" ] - ); - testMetadata = { - key: "testKey", - name: "Test Name" - }; - mockFormatter.formatDomainValue.andReturn(TEST_DOMAIN_VALUE); - - column = new DomainColumn(testMetadata, mockFormatter); - }); - - it("reports a column header from domain metadata", function () { - expect(column.getTitle()).toEqual("Test Name"); - }); - - it("looks up data from a data set", function () { - column.getValue(undefined, mockDataSet, 42); - expect(mockDataSet.getDomainValue) - .toHaveBeenCalledWith(42, "testKey"); - }); - - it("formats domain values as time", function () { - mockDataSet.getDomainValue.andReturn(402513731000); - - // Should have just given the value the formatter gave - expect(column.getValue(undefined, mockDataSet, 42)) - .toEqual(TEST_DOMAIN_VALUE); - - // Make sure that service interactions were as expected - expect(mockFormatter.formatDomainValue) - .toHaveBeenCalledWith(402513731000); - expect(mockFormatter.formatRangeValue) - .not.toHaveBeenCalled(); - }); - - }); - } -); \ No newline at end of file diff --git a/platform/features/rtevents/test/RTEventListControllerSpec.js b/platform/features/rtevents/test/RTEventListControllerSpec.js deleted file mode 100644 index bd72dd23f3..0000000000 --- a/platform/features/rtevents/test/RTEventListControllerSpec.js +++ /dev/null @@ -1,110 +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. - *****************************************************************************/ -/*global define,describe,it,expect,beforeEach,waitsFor,jasmine*/ - -/** - * RTEventSpec. Created by shale on 06/25/2015. - */ -define( - ["../src/RTEventListController"], - function (RTEventListController) { - "use strict"; - - describe("The real time event list controller", function () { - var mockScope, - mockTelemetry, - testMetadata, - controller; - - beforeEach(function () { - mockScope = jasmine.createSpyObj( - "$scope", - [ "$on", "$watch" ] - ); - mockTelemetry = jasmine.createSpyObj( - "telemetryController", - [ "getResponse", "getMetadata", "getTelemetryObjects" ] - ); - testMetadata = [ - { - domains: [ - { key: "d0", name: "D0" }, - { key: "d1", name: "D1" } - ], - ranges: [ - { key: "r0", name: "R0" }, - { key: "r1", name: "R1" } - ] - }, - { - domains: [ - { key: "d0", name: "D0" }, - { key: "d2", name: "D2" } - ], - ranges: [ - { key: "r0", name: "R0" } - ] - } - ]; - mockTelemetry.getMetadata.andReturn(testMetadata); - mockTelemetry.getResponse.andReturn([]); - mockTelemetry.getTelemetryObjects.andReturn([]); - mockScope.telemetry = mockTelemetry; - controller = new EventListController(mockScope); - }); - - it("listens for telemetry data updates", function () { - expect(mockScope.$on).toHaveBeenCalledWith( - "telemetryUpdate", - jasmine.any(Function) - ); - }); - - it("watches for telemetry controller changes", function () { - expect(mockScope.$watch).toHaveBeenCalledWith( - "telemetry", - jasmine.any(Function) - ); - }); - - it("provides a column for each unique domain and range", function () { - // Should have five columns based on metadata above, - // (d0, d1, d2, r0, r1) - mockScope.$watch.mostRecentCall.args[1](mockTelemetry); - expect(mockScope.headers).toEqual(["D0", "D1", "D2", "R0", "R1"]); - }); - - it("does not throw if telemetry controller is undefined", function () { - // Just a general robustness check - mockScope.telemetry = undefined; - expect(mockScope.$watch.mostRecentCall.args[1]) - .not.toThrow(); - }); - - it("provides default columns if domain/range metadata is unavailable", function () { - mockTelemetry.getMetadata.andReturn([]); - mockScope.$watch.mostRecentCall.args[1](mockTelemetry); - expect(mockScope.headers).toEqual(["Time", "Message"]); - }); - }); - } -); \ No newline at end of file diff --git a/platform/features/rtevents/test/RangeColumnSpec.js b/platform/features/rtevents/test/RangeColumnSpec.js deleted file mode 100644 index 3dc46c2ad9..0000000000 --- a/platform/features/rtevents/test/RangeColumnSpec.js +++ /dev/null @@ -1,81 +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. - *****************************************************************************/ -/*global define,describe,it,expect,beforeEach,waitsFor,jasmine*/ - -/** - * RTEventSpec. Created by vwoeltje on 11/6/14. Modified by shale on 06/23/2015. - */ -define( - ["../src/RangeColumn"], - function (RangeColumn) { - "use strict"; - - var TEST_RANGE_VALUE = "some formatted range value"; - - describe("An event list range column", function () { - var mockDataSet, - testMetadata, - mockFormatter, - column; - - beforeEach(function () { - mockDataSet = jasmine.createSpyObj( - "data", - [ "getRangeValue" ] - ); - mockFormatter = jasmine.createSpyObj( - "formatter", - [ "formatDomainValue", "formatRangeValue" ] - ); - testMetadata = { - key: "testKey", - name: "Test Name" - }; - mockFormatter.formatRangeValue.andReturn(TEST_RANGE_VALUE); - - column = new RangeColumn(testMetadata, mockFormatter); - }); - - it("reports a column header from range metadata", function () { - expect(column.getTitle()).toEqual("Test Name"); - }); - - it("looks up data from a data set", function () { - column.getValue(undefined, mockDataSet, 42); - expect(mockDataSet.getRangeValue) - .toHaveBeenCalledWith(42, "testKey"); - }); - - it("formats range values as time", function () { - mockDataSet.getRangeValue.andReturn(123.45678); - expect(column.getValue(undefined, mockDataSet, 42)) - .toEqual(TEST_RANGE_VALUE); - - // Make sure that service interactions were as expected - expect(mockFormatter.formatRangeValue) - .toHaveBeenCalledWith(123.45678); - expect(mockFormatter.formatDomainValue) - .not.toHaveBeenCalled(); - }); - }); - } -); \ No newline at end of file diff --git a/platform/features/rtevents/test/suite.json b/platform/features/rtevents/test/suite.json deleted file mode 100644 index 260e84474b..0000000000 --- a/platform/features/rtevents/test/suite.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - "DomainColumn", - "RTEventListController", - "policies/MessagesViewPolicy", - "RangeColumn" -] \ No newline at end of file