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

@@ -46,9 +46,9 @@ define(
);
mockUnlisten = jasmine.createSpy('unlisten');
mockStatusService.listen.andReturn(mockUnlisten);
mockStatusService.listStatuses.andReturn(testStatusFlags);
mockDomainObject.getId.andReturn(testId);
mockStatusService.listen.and.returnValue(mockUnlisten);
mockStatusService.listStatuses.and.returnValue(testStatusFlags);
mockDomainObject.getId.and.returnValue(testId);
capability = new StatusCapability(
mockStatusService,

View File

@@ -44,8 +44,8 @@ define(
function updateStatus(newFlags) {
testStatusFlags = newFlags;
mockStatusCapability.get.andReturn(newFlags);
mockStatusCapability.listen.mostRecentCall
mockStatusCapability.get.and.returnValue(newFlags);
mockStatusCapability.listen.calls.mostRecent()
.args[0](newFlags);
}
@@ -70,17 +70,17 @@ define(
elementClasses = {};
mockElement.addClass.andCallFake(function (c) {
mockElement.addClass.and.callFake(function (c) {
elementClasses[c] = true;
});
mockElement.removeClass.andCallFake(function (c) {
mockElement.removeClass.and.callFake(function (c) {
delete elementClasses[c];
});
mockStatusCapability.list.andReturn(testStatusFlags);
mockStatusCapability.listen.andReturn(mockUnlisten);
mockStatusCapability.list.and.returnValue(testStatusFlags);
mockStatusCapability.listen.and.returnValue(mockUnlisten);
mockDomainObject.getCapability.andCallFake(function (c) {
mockDomainObject.getCapability.and.callFake(function (c) {
return c === 'status' && mockStatusCapability;
});

View File

@@ -45,8 +45,8 @@ define(
mockUnlisten = jasmine.createSpy('unlisten');
mockCallback = jasmine.createSpy('callback');
mockTopic.andReturn(mockTopicInstance);
mockTopicInstance.listen.andReturn(mockUnlisten);
mockTopic.and.returnValue(mockTopicInstance);
mockTopicInstance.listen.and.returnValue(mockUnlisten);
statusService = new StatusService(mockTopic);
});
@@ -68,7 +68,7 @@ define(
expect(mockTopic)
.toHaveBeenCalledWith(jasmine.any(String));
// Just care that the topic was somehow unique to the object
expect(mockTopic.mostRecentCall.args[0].indexOf(testId))
expect(mockTopic.calls.mostRecent().args[0].indexOf(testId))
.not.toEqual(-1);
});
@@ -83,7 +83,7 @@ define(
expect(mockTopic)
.toHaveBeenCalledWith(jasmine.any(String));
// Just care that the topic was somehow unique to the object
expect(mockTopic.mostRecentCall.args[0].indexOf(testId))
expect(mockTopic.calls.mostRecent().args[0].indexOf(testId))
.not.toEqual(-1);
});