mirror of
https://github.com/nasa/openmct.git
synced 2025-06-02 23:50:49 +00:00
[CSV Export] Add test case which examines CSV
This commit is contained in:
parent
8868b6a130
commit
013690e0df
@ -19,7 +19,7 @@
|
|||||||
* this source code distribution or the Licensing information page available
|
* this source code distribution or the Licensing information page available
|
||||||
* at runtime from the About dialog for additional information.
|
* at runtime from the About dialog for additional information.
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
/*global define,describe,it,expect,beforeEach,waitsFor,jasmine*/
|
/*global define,describe,it,expect,beforeEach,waitsFor,jasmine,Blob,FileReader*/
|
||||||
|
|
||||||
define(
|
define(
|
||||||
["./ExportService", "csv"],
|
["./ExportService", "csv"],
|
||||||
@ -29,21 +29,35 @@ define(
|
|||||||
describe("ExportService", function () {
|
describe("ExportService", function () {
|
||||||
var mockSaveAs,
|
var mockSaveAs,
|
||||||
testRows,
|
testRows,
|
||||||
|
csvContents,
|
||||||
exportService;
|
exportService;
|
||||||
|
|
||||||
|
function finishedReadingCSV() {
|
||||||
|
return !!csvContents;
|
||||||
|
}
|
||||||
|
|
||||||
beforeEach(function () {
|
beforeEach(function () {
|
||||||
|
csvContents = undefined;
|
||||||
testRows = [
|
testRows = [
|
||||||
{ a: 1, b: 2, c: 3 },
|
{ a: 1, b: 2, c: 3 },
|
||||||
{ a: 4, b: 5, c: 6 },
|
{ a: 4, b: 5, c: 6 },
|
||||||
{ a: 7, b: 8, c: 9 }
|
{ a: 7, b: 8, c: 9 }
|
||||||
];
|
];
|
||||||
mockSaveAs = jasmine.createSpy('saveAs');
|
mockSaveAs = jasmine.createSpy('saveAs');
|
||||||
|
mockSaveAs.andCallFake(function (blob) {
|
||||||
|
var reader = new FileReader();
|
||||||
|
reader.onloadend = function () {
|
||||||
|
csvContents = new CSV(reader.result).parse();
|
||||||
|
};
|
||||||
|
reader.readAsText(blob);
|
||||||
|
});
|
||||||
exportService = new ExportService(mockSaveAs);
|
exportService = new ExportService(mockSaveAs);
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("#exportCSV(rows)", function () {
|
describe("#exportCSV(rows)", function () {
|
||||||
beforeEach(function () {
|
beforeEach(function () {
|
||||||
exportService.exportCSV(testRows);
|
exportService.exportCSV(testRows);
|
||||||
|
waitsFor(finishedReadingCSV);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("triggers saving of a file", function () {
|
it("triggers saving of a file", function () {
|
||||||
@ -52,6 +66,10 @@ define(
|
|||||||
jasmine.any(String)
|
jasmine.any(String)
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("includes headers from the data set", function () {
|
||||||
|
expect(csvContents[0]).toEqual([ 'a', 'b', 'c' ]);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user