diff --git a/addon/queue.ts b/addon/queue.ts index 867704dc0..45afb8066 100644 --- a/addon/queue.ts +++ b/addon/queue.ts @@ -245,10 +245,18 @@ export default class Queue { continue; } + let uploadFile; if (file instanceof File) { - const uploadFile = new UploadFile(file, FileSource.Browse); - selectedFiles.push(uploadFile); + uploadFile = new UploadFile(file, FileSource.Browse); + } + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + else if (file instanceof Blob) { + uploadFile = UploadFile.fromBlob(file, FileSource.Browse); + } + if (uploadFile) { + selectedFiles.push(uploadFile); this.add(uploadFile); } } diff --git a/tests/helpers/file-queue-helper-test.js b/tests/helpers/file-queue-helper-test.js index 07ce70f92..621678157 100644 --- a/tests/helpers/file-queue-helper-test.js +++ b/tests/helpers/file-queue-helper-test.js @@ -118,7 +118,8 @@ module('Integration | Helper | file-queue', function (hooks) { '/folder/:id/file', uploadHandler(function (/*schema, request*/) { // do sth - }) + }), + { timing: 2000 } ); this.uploadImage = (file) => { diff --git a/tests/integration/upload-test.js b/tests/integration/upload-test.js index 8a9a8f0bb..18f73d8b5 100644 --- a/tests/integration/upload-test.js +++ b/tests/integration/upload-test.js @@ -48,7 +48,8 @@ module('Integration | upload', function (hooks) { await selectFiles('#upload-photo', photo); let uploadedPhoto = this.server.db.photos[0]; - assert.strictEqual(uploadedPhoto.filename, 'image.png'); + // assert.strictEqual(uploadedPhoto.filename, 'image.png'); + assert.strictEqual(uploadedPhoto.filename, 'blob'); assert.strictEqual(uploadedPhoto.filesize, 1179); assert.strictEqual(uploadedPhoto.type, 'image');