[Autocomplete] Update test

This commit is contained in:
Dhrubomoy Das Gupta 2017-06-21 18:14:14 -04:00
parent f20c8b7d99
commit 504b2e1ecf

View File

@ -20,44 +20,50 @@
* at runtime from the About dialog for additional information. * at runtime from the About dialog for additional information.
*****************************************************************************/ *****************************************************************************/
define( define([
["../../src/controllers/AutocompleteController"], "../../src/controllers/AutocompleteController",
function (AutocompleteController) { "angular"
], function (
AutocompleteController,
angular
) {
describe("The autocomplete controller", function () { describe("The autocomplete controller", function () {
var mockScope, var mockScope,
controller; mockElement,
controller;
beforeEach(function () {
mockScope = jasmine.createSpyObj("$scope", ["$watch"]);
mockScope.options = ['Asia/Dhaka', 'UTC', 'Toronto', 'Asia/Shanghai', 'Hotel California'];
mockScope.ngModel = [null, null, null, null, null];
controller = new AutocompleteController(mockScope);
});
it("makes optionNames array equal to options if options is an array of string", function () {
expect(mockScope.optionNames).toEqual(mockScope.options);
});
it("filters options by returning array containing optionId and name", function () {
mockScope.filterOptions('Asia');
var filteredOptions = [{ optionId : 0, name : 'Asia/Dhaka' },
{ optionId : 1, name : 'Asia/Shanghai' }];
expect(mockScope.filteredOptions).toEqual(filteredOptions);
});
it("fills input with given string", function () {
var str = "UTC";
mockScope.fillInput(str);
expect(mockScope.hideOptions).toEqual(true);
expect(mockScope.ngModel[4]).toEqual(str);
});
it("sets a new optionIndex on mouse hover", function () {
mockScope.optionMouseover(1);
expect(mockScope.optionIndex).toEqual(1);
});
beforeEach(function () {
mockScope = jasmine.createSpyObj("$scope", ["$watch"]);
mockScope.options = ['Asia/Dhaka', 'UTC', 'Toronto', 'Asia/Shanghai', 'Hotel California'];
mockScope.ngModel = [null, null, null, null, null];
mockScope.field = 4;
mockElement = angular.element("<div></div>");
controller = new AutocompleteController(mockScope, mockElement);
}); });
}
); it("makes optionNames array equal to options if options is an array of string", function () {
expect(mockScope.optionNames).toEqual(mockScope.options);
});
it("filters options by returning array containing optionId and name", function () {
mockScope.filterOptions('Asia');
var filteredOptions = [{ optionId : 0, name : 'Asia/Dhaka' },
{ optionId : 1, name : 'Asia/Shanghai' }];
expect(mockScope.filteredOptions).toEqual(filteredOptions);
});
it("fills input with given string", function () {
var str = "UTC";
mockScope.fillInput(str);
expect(mockScope.hideOptions).toEqual(true);
expect(mockScope.ngModel[mockScope.field]).toEqual(str);
});
it("sets a new optionIndex on mouse hover", function () {
mockScope.optionMouseover(1);
expect(mockScope.optionIndex).toEqual(1);
});
});
});