[Fixed Position] Fill in specs for selection proxies

Fill in specs for fixed position views selection proxies,
WTD-879.
This commit is contained in:
Victor Woeltjen 2015-02-19 13:29:43 -08:00
parent 7882dd1401
commit 3cfcd027e0
5 changed files with 94 additions and 2 deletions

View File

@ -6,7 +6,13 @@ define(
"use strict";
describe("Fixed Position view's selection proxy", function () {
it("has a placeholder message when clicked", function () {
var oldAlert = window.alert;
window.alert = jasmine.createSpy('alert');
new FixedProxy({}).add('');
expect(window.alert).toHaveBeenCalledWith(jasmine.any(String));
window.alert = oldAlert;
});
});
}
);

View File

@ -6,6 +6,25 @@ define(
"use strict";
describe("An accessor-mutator", function () {
var testObject,
am;
beforeEach(function () {
testObject = { t: 42, other: 100 };
am = new AccessorMutator(testObject, 't');
});
it("allows access to a property", function () {
expect(am()).toEqual(42);
});
it("allows mutation of a property", function () {
expect(am("some other value")).toEqual("some other value");
expect(testObject).toEqual({
t: "some other value",
other: 100
});
});
});
}

View File

@ -5,8 +5,23 @@ define(
function (ElementProxies) {
"use strict";
describe("The set of element proxies", function () {
var ELEMENT_TYPES = [
"fixed.telemetry"
];
// Verify that the set of proxies exposed matches the specific
// list above.
describe("The set of element proxies", function () {
ELEMENT_TYPES.forEach(function (t) {
it("exposes a proxy wrapper for " + t + " elements", function () {
expect(typeof ElementProxies[t]).toEqual('function');
});
});
it("exposes no additional wrappers", function () {
expect(Object.keys(ElementProxies).length)
.toEqual(ELEMENT_TYPES.length);
});
});
}
);

View File

@ -6,7 +6,36 @@ define(
"use strict";
describe("A fixed position element proxy", function () {
var testElement,
testElements,
proxy;
beforeEach(function () {
testElement = {
x: 1,
y: 2,
z: 3,
width: 42,
height: 24
};
testElements = [ {}, {}, testElement, {} ];
proxy = new ElementProxy(
testElement,
testElements.indexOf(testElement),
testElements
);
});
it("exposes element properties", function () {
Object.keys(testElement).forEach(function (k) {
expect(proxy[k]()).toEqual(testElement[k]);
});
});
it("allows elements to be removed", function () {
proxy.remove();
expect(testElements).toEqual([{}, {}, {}]);
});
});
}
);

View File

@ -6,7 +6,30 @@ define(
"use strict";
describe("A fixed position telemetry proxy", function () {
var testElement,
testElements,
proxy;
beforeEach(function () {
testElement = {
x: 1,
y: 2,
z: 3,
width: 42,
height: 24,
id: "test-id"
};
testElements = [ {}, {}, testElement, {} ];
proxy = new TelemetryProxy(
testElement,
testElements.indexOf(testElement),
testElements
);
});
it("exposes the element's id", function () {
expect(proxy.id).toEqual('test-id');
});
});
}
);