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:
Andrew Henry
2018-06-29 17:32:59 -07:00
committed by Pete Richards
parent 013eba744d
commit 433dee0314
305 changed files with 2866 additions and 3324 deletions

View File

@@ -37,7 +37,7 @@ define(
* var moveService = new MockMoveService();
*
* // validate is a standard jasmine spy.
* moveService.validate.andReturn(true);
* moveService.validate.and.returnValue(true);
* var isValid = moveService.validate(object, parentCandidate);
* expect(isValid).toBe(true);
*
@@ -45,7 +45,7 @@ define(
* var whenCopied = jasmine.createSpy('whenCopied');
* moveService.perform(object, parentObject).then(whenCopied);
* expect(whenCopied).not.toHaveBeenCalled();
* moveService.perform.mostRecentCall.resolve('someArg');
* moveService.perform.calls.mostRecent().resolve('someArg');
* expect(whenCopied).toHaveBeenCalledWith('someArg');
* ```
*/
@@ -60,7 +60,7 @@ define(
]
);
mockMoveService.perform.andCallFake(function () {
mockMoveService.perform.and.callFake(function () {
var performPromise,
callExtensions,
spy;
@@ -73,7 +73,7 @@ define(
callExtensions = {
promise: performPromise,
resolve: function (resolveWith) {
performPromise.then.calls.forEach(function (call) {
performPromise.then.calls.all().forEach(function (call) {
call.args[0](resolveWith);
});
}
@@ -82,8 +82,8 @@ define(
spy = this.perform;
Object.keys(callExtensions).forEach(function (key) {
spy.mostRecentCall[key] = callExtensions[key];
spy.calls[spy.calls.length - 1][key] = callExtensions[key];
spy.calls.mostRecent()[key] = callExtensions[key];
spy.calls.all()[spy.calls.count() - 1][key] = callExtensions[key];
});
return performPromise;