mirror of
https://github.com/nasa/openmct.git
synced 2025-04-10 12:50:15 +00:00
[Plot] Restore coverage on PlotController
Restore full test coverage on PlotController after refactoring for WTD-625, stacked plots.
This commit is contained in:
parent
4586146da2
commit
a2d22a4558
@ -13,6 +13,7 @@ define(
|
||||
mockTelemetry, // mock telemetry controller
|
||||
mockData,
|
||||
mockElement,
|
||||
mockDomainObject,
|
||||
controller;
|
||||
|
||||
function echo(i) { return i; }
|
||||
@ -34,6 +35,10 @@ define(
|
||||
"element",
|
||||
[ "getBoundingClientRect" ]
|
||||
);
|
||||
mockDomainObject = jasmine.createSpyObj(
|
||||
"domainObject",
|
||||
[ "getId", "getModel", "getCapability" ]
|
||||
);
|
||||
|
||||
mockScope.telemetry = mockTelemetry;
|
||||
mockTelemetry.getResponse.andReturn([mockData]);
|
||||
@ -76,8 +81,82 @@ define(
|
||||
// Just want to not have an exception
|
||||
});
|
||||
|
||||
it("draws lines when data becomes available", function () {
|
||||
// Verify precondition
|
||||
controller.getSubPlots().forEach(function (subplot) {
|
||||
expect(subplot.getDrawingObject().lines)
|
||||
.not.toBeDefined();
|
||||
});
|
||||
|
||||
// Make sure there actually are subplots being verified
|
||||
expect(controller.getSubPlots().length > 0)
|
||||
.toBeTruthy();
|
||||
|
||||
// Broadcast data
|
||||
mockScope.$on.mostRecentCall.args[1]();
|
||||
|
||||
controller.getSubPlots().forEach(function (subplot) {
|
||||
expect(subplot.getDrawingObject().lines)
|
||||
.toBeDefined();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
it("changes modes depending on number of objects", function () {
|
||||
var expectedWatch = "telemetry.getTelemetryObjects()",
|
||||
watchFunction;
|
||||
|
||||
// Find the watch for telemetry objects, which
|
||||
// should change plot mode options
|
||||
mockScope.$watch.calls.forEach(function (call) {
|
||||
if (call.args[0] === expectedWatch) {
|
||||
watchFunction = call.args[1];
|
||||
}
|
||||
});
|
||||
|
||||
watchFunction([mockDomainObject]);
|
||||
expect(controller.getModeOptions().length).toEqual(1);
|
||||
|
||||
watchFunction([
|
||||
mockDomainObject,
|
||||
mockDomainObject,
|
||||
mockDomainObject
|
||||
]);
|
||||
expect(controller.getModeOptions().length).toEqual(2);
|
||||
});
|
||||
|
||||
// Interface tests follow; these will be delegated (mostly
|
||||
// to PlotModeOptions, which is tested separately).
|
||||
it("provides access to available plot mode options", function () {
|
||||
expect(Array.isArray(controller.getModeOptions()))
|
||||
.toBeTruthy();
|
||||
});
|
||||
|
||||
it("provides a current plot mode", function () {
|
||||
expect(controller.getMode().name)
|
||||
.toEqual(jasmine.any(String));
|
||||
});
|
||||
|
||||
it("allows plot mode to be changed", function () {
|
||||
expect(function () {
|
||||
controller.setMode(controller.getMode());
|
||||
}).not.toThrow();
|
||||
});
|
||||
|
||||
it("provides an array of sub-plots", function () {
|
||||
expect(Array.isArray(controller.getSubPlots()))
|
||||
.toBeTruthy();
|
||||
});
|
||||
|
||||
it("allows plots to be updated", function () {
|
||||
expect(controller.update).not.toThrow();
|
||||
});
|
||||
|
||||
it("allows changing pan-zoom state", function () {
|
||||
expect(controller.isZoomed).not.toThrow();
|
||||
expect(controller.stepBackPanZoom).not.toThrow();
|
||||
expect(controller.unzoom).not.toThrow();
|
||||
});
|
||||
});
|
||||
}
|
||||
);
|
Loading…
x
Reference in New Issue
Block a user