mirror of
https://github.com/nasa/openmct.git
synced 2024-12-21 06:03:08 +00:00
0082b99292
Complete test coverage for new scripts added to bundle platform/telemetry in support of autoflow tabular views, WTD-614. Specifically, these implement a telemetrySubscriber service which can be used to watch for updates to telemetry values associated with a specific domain object.
54 lines
1.9 KiB
JavaScript
54 lines
1.9 KiB
JavaScript
/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/
|
|
|
|
define(
|
|
["../src/TelemetrySubscriber"],
|
|
function (TelemetrySubscriber) {
|
|
"use strict";
|
|
|
|
describe("The telemetry subscriber", function () {
|
|
// TelemetrySubscriber just provides a factory
|
|
// for TelemetrySubscription, so most real testing
|
|
// should happen there.
|
|
var mockQ,
|
|
mockTimeout,
|
|
mockDomainObject,
|
|
mockCallback,
|
|
mockPromise,
|
|
subscriber;
|
|
|
|
beforeEach(function () {
|
|
mockQ = jasmine.createSpyObj("$q", ["when"]);
|
|
mockTimeout = jasmine.createSpy("$timeout");
|
|
mockDomainObject = jasmine.createSpyObj(
|
|
"domainObject",
|
|
[ "getCapability", "useCapability", "hasCapability" ]
|
|
);
|
|
mockCallback = jasmine.createSpy("callback");
|
|
mockPromise = jasmine.createSpyObj("promise", ["then"]);
|
|
|
|
mockQ.when.andReturn(mockPromise);
|
|
mockPromise.then.andReturn(mockPromise);
|
|
|
|
subscriber = new TelemetrySubscriber(mockQ, mockTimeout);
|
|
});
|
|
|
|
it("acts as a factory for subscription objects", function () {
|
|
var subscription = subscriber.subscribe(
|
|
mockDomainObject,
|
|
mockCallback
|
|
);
|
|
// Just verify that this looks like a TelemetrySubscription
|
|
[
|
|
"unsubscribe",
|
|
"getTelemetryObjects",
|
|
"getRangeValue",
|
|
"getDomainValue"
|
|
].forEach(function (method) {
|
|
expect(subscription[method])
|
|
.toEqual(jasmine.any(Function));
|
|
});
|
|
});
|
|
|
|
});
|
|
}
|
|
); |