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

@@ -28,13 +28,11 @@ define(
var mockSaveAs,
testRows,
csvContents,
readCSVPromise,
exportService;
function finishedReadingCSV() {
return !!csvContents;
}
beforeEach(function () {
var resolveFunction;
csvContents = undefined;
testRows = [
{ a: 1, b: 2, c: 3 },
@@ -42,10 +40,14 @@ define(
{ a: 7, b: 8, c: 9 }
];
mockSaveAs = jasmine.createSpy('saveAs');
mockSaveAs.andCallFake(function (blob) {
readCSVPromise = new Promise(function (resolve) {
resolveFunction = resolve;
});
mockSaveAs.and.callFake(function (blob) {
var reader = new FileReader();
reader.onloadend = function () {
csvContents = new CSV(reader.result).parse();
resolveFunction();
};
reader.readAsText(blob);
});
@@ -55,7 +57,7 @@ define(
describe("#exportCSV(rows)", function () {
beforeEach(function () {
exportService.exportCSV(testRows);
waitsFor(finishedReadingCSV);
return readCSVPromise;
});
it("triggers saving of a file", function () {
@@ -89,7 +91,8 @@ define(
testHeaders = ['a', 'b'];
exportService
.exportCSV(testRows, { headers: testHeaders });
waitsFor(finishedReadingCSV);
return readCSVPromise;
});
it("triggers saving of a file", function () {
@@ -124,7 +127,7 @@ define(
testFilename = "some-test-filename.csv";
exportService
.exportCSV(testRows, { filename: testFilename });
waitsFor(finishedReadingCSV);
return readCSVPromise;
});
it("saves a file with the specified name", function () {