diff options
| -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(); |
