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

@@ -40,7 +40,7 @@ define(
);
mockTypes = ['a', 'b'].map(function (type) {
var mockType = jasmine.createSpyObj('type-' + type, ['getKey']);
mockType.getKey.andReturn(type);
mockType.getKey.and.returnValue(type);
return mockType;
});
mockDomainObjects = ['a', 'b'].map(function (id, index) {
@@ -48,8 +48,8 @@ define(
'domainObject-' + id,
['getId', 'getCapability']
);
mockDomainObject.getId.andReturn(id);
mockDomainObject.getCapability.andCallFake(function (c) {
mockDomainObject.getId.and.returnValue(id);
mockDomainObject.getCapability.and.callFake(function (c) {
return c === 'type' && mockTypes[index];
});
return mockDomainObject;
@@ -62,8 +62,8 @@ define(
selectedObject: mockDomainObjects[1]
};
mockAction.getMetadata.andReturn(testContext);
mockInjector.get.andCallFake(function (service) {
mockAction.getMetadata.and.returnValue(testContext);
mockInjector.get.and.callFake(function (service) {
return service === 'policyService' && mockPolicyService;
});
@@ -71,9 +71,9 @@ define(
});
it("defers to composition policy", function () {
mockPolicyService.allow.andReturn(false);
mockPolicyService.allow.and.returnValue(false);
expect(policy.allow(mockAction, testContext)).toBeFalsy();
mockPolicyService.allow.andReturn(true);
mockPolicyService.allow.and.returnValue(true);
expect(policy.allow(mockAction, testContext)).toBeTruthy();
expect(mockPolicyService.allow).toHaveBeenCalledWith(
@@ -85,7 +85,7 @@ define(
it("allows actions other than compose", function () {
testContext.key = 'somethingElse';
mockPolicyService.allow.andReturn(false);
mockPolicyService.allow.and.returnValue(false);
expect(policy.allow(mockAction, testContext)).toBeTruthy();
});
});