[Scrolling] Fill in specs

Fill in specs for ScrollingListController, and for
the specific Column types that support it. Separate
out the code that produces actual rows in order to
improve testability and maintainability. WTD-534.
This commit is contained in:
Victor Woeltjen
2014-12-02 15:59:09 -08:00
parent c0a34149ca
commit e953e5b4b4
6 changed files with 293 additions and 98 deletions

View File

@ -9,6 +9,37 @@ define(
"use strict";
describe("A range column", function () {
var mockDataSet,
testMetadata,
column;
beforeEach(function () {
mockDataSet = jasmine.createSpyObj(
"data",
[ "getRangeValue" ]
);
testMetadata = {
key: "testKey",
name: "Test Name"
};
column = new RangeColumn(testMetadata);
});
it("reports a column header from range metadata", function () {
expect(column.getTitle()).toEqual("Test Name");
});
it("looks up data from a data set", function () {
column.getValue(undefined, mockDataSet, 42);
expect(mockDataSet.getRangeValue)
.toHaveBeenCalledWith(42, "testKey");
});
it("formats range values as time", function () {
mockDataSet.getRangeValue.andReturn(123.45678);
expect(column.getValue(undefined, mockDataSet, 42))
.toEqual("123.457");
});
});
}
);