mirror of
https://github.com/nasa/openmct.git
synced 2025-06-21 00:23:01 +00:00
Update test specs to use Jasmine 3 (#2089)
* Updated Karma and Jasmine versions * Added DOMObserver class. Supports promise-based testing of DOM changes Update asynchronous test specs to use promises or done() instead of waitsFor/runs * Modified ActionCapability to duplicate context object properties as own properties for better object equality comparisons * Global find + replace to fix syntax issues * Fixed various issues caused by non-deterministic runtime order of tests in Jasmine 3. Fixed issues caused by changes to determination of object equality * Addressed review comments * Resolved merge conflicts with master * Fixed style errors * Use spy.calls.count() instead of manually tracking
This commit is contained in:
committed by
Pete Richards
parent
013eba744d
commit
433dee0314
@ -49,27 +49,19 @@ define(
|
||||
mockScope.field = "file-input";
|
||||
mockScope.ngModel = {"file-input" : undefined};
|
||||
|
||||
element.on.andCallFake(function (event, clickHandler) {
|
||||
element.on.and.callFake(function (event, clickHandler) {
|
||||
clickHandler();
|
||||
});
|
||||
mockFileInputService.getInput.andReturn(
|
||||
mockFileInputService.getInput.and.returnValue(
|
||||
Promise.resolve({name: "file-name", body: "file-body"})
|
||||
);
|
||||
|
||||
mctFileInput = new MCTFileInput(mockFileInputService);
|
||||
|
||||
// Need to wait for mock promise
|
||||
var init = false;
|
||||
runs(function () {
|
||||
return new Promise(function (resolve) {
|
||||
mctFileInput.link(mockScope, element, attrs, control);
|
||||
setTimeout(function () {
|
||||
init = true;
|
||||
}, 100);
|
||||
setTimeout(resolve, 100);
|
||||
});
|
||||
|
||||
waitsFor(function () {
|
||||
return init;
|
||||
}, "File selection should have beeen simulated");
|
||||
});
|
||||
|
||||
it("is restricted to attributes", function () {
|
||||
@ -85,11 +77,13 @@ define(
|
||||
});
|
||||
|
||||
it("validates control on file selection", function () {
|
||||
expect(control.$setValidity.callCount).toBe(2);
|
||||
expect(control.$setValidity.argsForCall[0]).toEqual(
|
||||
var calls = control.$setValidity.calls;
|
||||
|
||||
expect(calls.count()).toBe(2);
|
||||
expect(calls.all()[0].args).toEqual(
|
||||
['file-input', false]
|
||||
);
|
||||
expect(control.$setValidity.argsForCall[1]).toEqual(
|
||||
expect(calls.all()[1].args).toEqual(
|
||||
['file-input', true]
|
||||
);
|
||||
});
|
||||
|
Reference in New Issue
Block a user