openmct/platform/representation/test/MCTIncludeSpec.js
Victor Woeltjen 6133ec2382 [Representation] Spec for mct-include
Add spec for the mct-include directive, part of
the representation component; WTD-521.
2014-11-22 10:59:53 -08:00

53 lines
1.8 KiB
JavaScript

/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/
/**
* MCTIncudeSpec. Created by vwoeltje on 11/6/14.
*/
define(
["../src/MCTInclude"],
function (MCTInclude) {
"use strict";
describe("The mct-include directive", function () {
var testTemplates,
mctInclude;
beforeEach(function () {
testTemplates = [
{
key: "abc",
bundle: { path: "a", resources: "b" },
templateUrl: "c/template.html"
},
{
key: "xyz",
bundle: { path: "x", resources: "y" },
templateUrl: "z/template.html"
}
];
mctInclude = new MCTInclude(testTemplates);
});
it("has a built-in template, with ng-include src=inclusion", function () {
// Not rigorous, but should detect many cases when template is broken.
expect(mctInclude.template.indexOf("ng-include")).not.toEqual(-1);
expect(mctInclude.template.indexOf("inclusion")).not.toEqual(-1);
});
it("is restricted to elements", function () {
expect(mctInclude.restrict).toEqual("E");
});
it("reads a template location from a scope's key variable", function () {
var scope = { key: "abc" };
mctInclude.controller(scope);
expect(scope.inclusion).toEqual("a/b/c/template.html");
scope = { key: "xyz" };
mctInclude.controller(scope);
expect(scope.inclusion).toEqual("x/y/z/template.html");
});
});
}
);