[About] Add tests for controllers

Add tests for controllers introduced to support a minimal
implementation of an About dialog, WTD-667.
This commit is contained in:
Victor Woeltjen 2015-01-14 13:10:05 -08:00
parent 95393b269e
commit d33344dacd
3 changed files with 75 additions and 0 deletions

View File

@ -0,0 +1,39 @@
/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/
define(
['../src/AboutController'],
function (AboutController) {
"use strict";
describe("The About controller", function () {
var testVersions,
mockWindow,
controller;
beforeEach(function () {
testVersions = [
{ name: "Some name", value: "1.2.3" },
{ name: "Some other name", value: "3.2.1" }
];
mockWindow = jasmine.createSpyObj("$window", ["open"]);
controller = new AboutController(testVersions, mockWindow);
});
it("exposes version information", function () {
// This will be injected, so it should just give back
// what it got in.
expect(controller.versions()).toEqual(testVersions);
});
it("opens license information in a window", function () {
//Verify precondition
expect(mockWindow.open).not.toHaveBeenCalled();
controller.openLicenses();
expect(mockWindow.open).toHaveBeenCalledWith("#/licenses");
});
});
}
);

View File

@ -0,0 +1,32 @@
/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/
define(
['../src/LogoController'],
function (LogoController) {
"use strict";
describe("The About controller", function () {
var mockOverlayService,
controller;
beforeEach(function () {
mockOverlayService = jasmine.createSpyObj(
"overlayService",
["createOverlay"]
);
controller = new LogoController(mockOverlayService);
});
it("shows the about dialog", function () {
//Verify precondition
expect(mockOverlayService.createOverlay)
.not.toHaveBeenCalled();
controller.showAboutDialog();
expect(mockOverlayService.createOverlay)
.toHaveBeenCalledWith("overlay-about");
});
});
}
);

View File

@ -0,0 +1,4 @@
[
"AboutController",
"LogoController"
]