diff options
| author | Caleb Mabry <caleb.mabry.15@cnu.edu> | 2022-03-25 13:14:41 -0400 |
|---|---|---|
| committer | Caleb Mabry <caleb.mabry.15@cnu.edu> | 2022-03-25 13:14:41 -0400 |
| commit | f7d7e96f3d36bc2bd21d58027a8610a75933eb6c (patch) | |
| tree | 7b5ae35c3f2e47950bbc46e9827918671b2ed322 /webAO/services | |
| parent | 502a472ea297e3c170dd74c1a4542f492cf2ea3d (diff) | |
added unit tests
Diffstat (limited to 'webAO/services')
| -rw-r--r-- | webAO/services/__tests__/downloadFile.test.ts | 27 | ||||
| -rw-r--r-- | webAO/services/downloadFile.ts | 2 |
2 files changed, 27 insertions, 2 deletions
diff --git a/webAO/services/__tests__/downloadFile.test.ts b/webAO/services/__tests__/downloadFile.test.ts new file mode 100644 index 0000000..b217b2c --- /dev/null +++ b/webAO/services/__tests__/downloadFile.test.ts @@ -0,0 +1,27 @@ +import downloadFile from '../downloadFile' +jest + .useFakeTimers() + .setSystemTime(new Date('2020-01-01').getTime()); + + global.URL.createObjectURL = jest.fn(); +(window as any).global.Blob = function (content, options){return ({content, options})} + +describe('downloadFile', () => { + it('Creates an <a> tag', () => { + const createElementSpy = jest.spyOn(document, 'createElement'); + downloadFile('hi', 'filename') + expect(createElementSpy).toBeCalled() + }) + it('Creates the blob with the correct data', () => { + const data = 'writingtestsishard' + global.URL.createObjectURL = jest.fn(() => data); + downloadFile(data, 'filename') + const expected = { + content: [data], + options: { + type: "text" + } + } + expect(global.URL.createObjectURL).toBeCalledWith(expected) + }) +})
\ No newline at end of file diff --git a/webAO/services/downloadFile.ts b/webAO/services/downloadFile.ts index 3774e9b..058075f 100644 --- a/webAO/services/downloadFile.ts +++ b/webAO/services/downloadFile.ts @@ -1,8 +1,6 @@ const downloadFile = (content: string, filename: string) => { - const a = document.createElement('a'); const file = new Blob([content], {type: 'text'}); - a.href= URL.createObjectURL(file); a.download = filename; a.click(); |
