[Telemetry] Fill in new specs

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.
This commit is contained in:
Victor Woeltjen
2014-12-30 14:55:50 -08:00
parent f7e3c9479b
commit 0082b99292
2 changed files with 155 additions and 0 deletions

View File

@@ -6,6 +6,48 @@ define(
"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));
});
});
});
}