openmct/platform/commonUI/general/test/controllers/ToggleControllerSpec.js

43 lines
1.5 KiB
JavaScript
Raw Normal View History

/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/
define(
["../../src/controllers/ToggleController"],
function (ToggleController) {
"use strict";
describe("The toggle controller", function () {
var controller;
beforeEach(function () {
controller = new ToggleController();
});
it("is initially inactive", function () {
expect(controller.isActive()).toBe(false);
});
it("tracks enabled/disabled state when toggled", function () {
controller.toggle();
expect(controller.isActive()).toBe(true);
controller.toggle();
expect(controller.isActive()).toBe(false);
controller.toggle();
expect(controller.isActive()).toBe(true);
controller.toggle();
expect(controller.isActive()).toBe(false);
});
it("allows active state to be explictly specified", function () {
controller.setState(true);
expect(controller.isActive()).toBe(true);
controller.setState(true);
expect(controller.isActive()).toBe(true);
controller.setState(false);
expect(controller.isActive()).toBe(false);
controller.setState(false);
expect(controller.isActive()).toBe(false);
});
});
}
);