diff --git a/src/FileUploader.ts b/src/FileUploader.ts index fe63ee4..8e0b643 100644 --- a/src/FileUploader.ts +++ b/src/FileUploader.ts @@ -20,8 +20,10 @@ export class FileUploader { public uploadFile(sasJob: string, files: UploadFile[], params: any) { return new Promise((resolve, reject) => { - if (files?.length < 1) reject(new ErrorResponse('At least one file must be provided.')) - if (!sasJob || sasJob === '') reject(new ErrorResponse('sasJob must be provided.')) + if (files?.length < 1) + reject(new ErrorResponse('At least one file must be provided.')) + if (!sasJob || sasJob === '') + reject(new ErrorResponse('sasJob must be provided.')) let paramsString = '' @@ -49,7 +51,7 @@ export class FileUploader { } if (this.csrfToken) formData.append('_csrf', this.csrfToken.value) - + fetch(uploadUrl, { method: 'POST', body: formData, @@ -96,7 +98,12 @@ export class FileUploader { try { resolve(JSON.parse(responseText)) } catch (e) { - reject(new ErrorResponse('Error while parsing json from upload response.', e)) + reject( + new ErrorResponse( + 'Error while parsing json from upload response.', + e + ) + ) } } }) diff --git a/src/test/FileUploader.spec.ts b/src/test/FileUploader.spec.ts index 538e178..0f60681 100644 --- a/src/test/FileUploader.spec.ts +++ b/src/test/FileUploader.spec.ts @@ -1,85 +1,81 @@ import { FileUploader } from '../FileUploader' -import { UploadFile } from '../types'; +import { UploadFile } from '../types' -(global as any).fetch = jest.fn().mockImplementation(() => +;(global as any).fetch = jest.fn().mockImplementation(() => Promise.resolve({ - text: () => Promise.resolve(sampleResponse), + text: () => Promise.resolve(sampleResponse) }) -); +) it('should upload successfully', async (done) => { - const fileUploader = - new FileUploader( - '/sample/apploc', - 'https://sample.server.com', - '/jobs/path', - null, - null - ) - - const sasJob = 'test/upload' - const files: UploadFile[] = [ - { - file: new File([''], 'testfile'), - fileName: 'testfile' - } - ]; - const params = {table: 'libtable'} + const fileUploader = new FileUploader( + '/sample/apploc', + 'https://sample.server.com', + '/jobs/path', + null, + null + ) - fileUploader.uploadFile(sasJob, files, params).then( - (res: any) => { - if (JSON.stringify(res) === JSON.stringify(JSON.parse(sampleResponse))) done() - } - ) + const sasJob = 'test/upload' + const files: UploadFile[] = [ + { + file: new File([''], 'testfile'), + fileName: 'testfile' + } + ] + const params = { table: 'libtable' } + + fileUploader.uploadFile(sasJob, files, params).then((res: any) => { + if (JSON.stringify(res) === JSON.stringify(JSON.parse(sampleResponse))) + done() + }) }) it('should throw no files error', async (done) => { - const fileUploader = - new FileUploader( - '/sample/apploc', - 'https://sample.server.com', - '/jobs/path', - null, - null - ) - - const sasJob = 'test/upload' - const files: UploadFile[] = []; - const params = {table: 'libtable'} + const fileUploader = new FileUploader( + '/sample/apploc', + 'https://sample.server.com', + '/jobs/path', + null, + null + ) - fileUploader.uploadFile(sasJob, files, params).then( - (res: any) => {}, - (err: any) => { - if (err.error.message === 'At least one file must be provided.') done() - } - ) + const sasJob = 'test/upload' + const files: UploadFile[] = [] + const params = { table: 'libtable' } + + fileUploader.uploadFile(sasJob, files, params).then( + (res: any) => {}, + (err: any) => { + if (err.error.message === 'At least one file must be provided.') done() + } + ) }) it('should throw no sasJob error', async (done) => { - const fileUploader = - new FileUploader( - '/sample/apploc', - 'https://sample.server.com', - '/jobs/path', - null, - null - ) - - const sasJob = '' - const files: UploadFile[] = [ - { - file: new File([''], 'testfile'), - fileName: 'testfile' - } - ]; - const params = {table: 'libtable'} + const fileUploader = new FileUploader( + '/sample/apploc', + 'https://sample.server.com', + '/jobs/path', + null, + null + ) - fileUploader.uploadFile(sasJob, files, params).then( - (res: any) => {}, - (err: any) => { - if (err.error.message === 'sasJob must be provided.') done() - } - ) + const sasJob = '' + const files: UploadFile[] = [ + { + file: new File([''], 'testfile'), + fileName: 'testfile' + } + ] + const params = { table: 'libtable' } + + fileUploader.uploadFile(sasJob, files, params).then( + (res: any) => {}, + (err: any) => { + if (err.error.message === 'sasJob must be provided.') done() + } + ) }) const sampleResponse = `{ @@ -90,4 +86,4 @@ const sampleResponse = `{ "SYSCC" : "0", "SYSJOBID" : "117382", "SYSWARNINGTEXT" : "" -}` \ No newline at end of file +}`