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
@@ -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 () {
|
||||
|
||||
Reference in New Issue
Block a user