diff --git a/src/auth/spec/AuthManager.spec.ts b/src/auth/spec/AuthManager.spec.ts index b528912..584dc04 100644 --- a/src/auth/spec/AuthManager.spec.ts +++ b/src/auth/spec/AuthManager.spec.ts @@ -57,7 +57,7 @@ describe('AuthManager', () => { expect((authManager as any).logoutUrl).toEqual('/SASLogon/logout?') }) - it('should call the auth callback and return when already logged in', async (done) => { + it('should call the auth callback and return when already logged in', async () => { const authManager = new AuthManager( serverUrl, serverType, @@ -77,10 +77,9 @@ describe('AuthManager', () => { expect(loginResponse.isLoggedIn).toBeTruthy() expect(loginResponse.userName).toEqual(userName) expect(authCallback).toHaveBeenCalledTimes(1) - done() }) - it('should post a login request to the server if not logged in', async (done) => { + it('should post a login request to the server if not logged in', async () => { const authManager = new AuthManager( serverUrl, serverType, @@ -121,10 +120,9 @@ describe('AuthManager', () => { } ) expect(authCallback).toHaveBeenCalledTimes(1) - done() }) - it('should parse and submit the authorisation form when necessary', async (done) => { + it('should parse and submit the authorisation form when necessary', async () => { const authManager = new AuthManager( serverUrl, serverType, @@ -160,10 +158,9 @@ describe('AuthManager', () => { expect(requestClient.authorize).toHaveBeenCalledWith( mockLoginAuthoriseRequiredResponse ) - done() }) - it('should check and return session information if logged in', async (done) => { + it('should check and return session information if logged in', async () => { const authManager = new AuthManager( serverUrl, serverType, @@ -189,7 +186,5 @@ describe('AuthManager', () => { } } ) - - done() }) }) diff --git a/src/test/FileUploader.spec.ts b/src/test/FileUploader.spec.ts index 9e225a2..4b6f678 100644 --- a/src/test/FileUploader.spec.ts +++ b/src/test/FileUploader.spec.ts @@ -1,3 +1,7 @@ +/** + * @jest-environment jsdom + */ + import { FileUploader } from '../FileUploader' import { UploadFile } from '../types' import { RequestClient } from '../request/RequestClient' @@ -35,41 +39,40 @@ describe('FileUploader', () => { new RequestClient('https://sample.server.com') ) - it('should upload successfully', async (done) => { + it('should upload successfully', async () => { const sasJob = 'test/upload' const { files, params } = prepareFilesAndParams() mockedAxios.post.mockImplementation(() => Promise.resolve({ data: sampleResponse }) ) - fileUploader.uploadFile(sasJob, files, params).then((res: any) => { - expect(res).toEqual(JSON.parse(sampleResponse)) - done() - }) + const res = await fileUploader.uploadFile(sasJob, files, params) + + expect(res).toEqual(JSON.parse(sampleResponse)) }) - it('should an error when no files are provided', async (done) => { + it('should an error when no files are provided', async () => { const sasJob = 'test/upload' const files: UploadFile[] = [] const params = { table: 'libtable' } - fileUploader.uploadFile(sasJob, files, params).catch((err: any) => { - expect(err.error.message).toEqual('At least one file must be provided.') - done() - }) + const err = await fileUploader + .uploadFile(sasJob, files, params) + .catch((err: any) => err) + expect(err.error.message).toEqual('At least one file must be provided.') }) - it('should throw an error when no sasJob is provided', async (done) => { + it('should throw an error when no sasJob is provided', async () => { const sasJob = '' const { files, params } = prepareFilesAndParams() - fileUploader.uploadFile(sasJob, files, params).catch((err: any) => { - expect(err.error.message).toEqual('sasJob must be provided.') - done() - }) + const err = await fileUploader + .uploadFile(sasJob, files, params) + .catch((err: any) => err) + expect(err.error.message).toEqual('sasJob must be provided.') }) - it('should throw an error when login is required', async (done) => { + it('should throw an error when login is required', async () => { mockedAxios.post.mockImplementation(() => Promise.resolve({ data: '
' }) ) @@ -77,15 +80,13 @@ describe('FileUploader', () => { const sasJob = 'test' const { files, params } = prepareFilesAndParams() - fileUploader.uploadFile(sasJob, files, params).catch((err: any) => { - expect(err.error.message).toEqual( - 'You must be logged in to upload a file.' - ) - done() - }) + const err = await fileUploader + .uploadFile(sasJob, files, params) + .catch((err: any) => err) + expect(err.error.message).toEqual('You must be logged in to upload a file.') }) - it('should throw an error when invalid JSON is returned by the server', async (done) => { + it('should throw an error when invalid JSON is returned by the server', async () => { mockedAxios.post.mockImplementation(() => Promise.resolve({ data: '{invalid: "json"' }) ) @@ -93,13 +94,13 @@ describe('FileUploader', () => { const sasJob = 'test' const { files, params } = prepareFilesAndParams() - fileUploader.uploadFile(sasJob, files, params).catch((err: any) => { - expect(err.error.message).toEqual('File upload request failed.') - done() - }) + const err = await fileUploader + .uploadFile(sasJob, files, params) + .catch((err: any) => err) + expect(err.error.message).toEqual('File upload request failed.') }) - it('should throw an error when the server request fails', async (done) => { + it('should throw an error when the server request fails', async () => { mockedAxios.post.mockImplementation(() => Promise.reject({ data: '{message: "Server error"}' }) ) @@ -107,10 +108,9 @@ describe('FileUploader', () => { const sasJob = 'test' const { files, params } = prepareFilesAndParams() - fileUploader.uploadFile(sasJob, files, params).catch((err: any) => { - expect(err.error.message).toEqual('File upload request failed.') - - done() - }) + const err = await fileUploader + .uploadFile(sasJob, files, params) + .catch((err: any) => err) + expect(err.error.message).toEqual('File upload request failed.') }) }) diff --git a/src/test/FolderOperations.spec.ts b/src/test/FolderOperations.spec.ts index 1fdf92c..147e4b4 100644 --- a/src/test/FolderOperations.spec.ts +++ b/src/test/FolderOperations.spec.ts @@ -14,7 +14,7 @@ describe('FolderOperations', () => { beforeEach(() => {}) - it('should move and rename folder', async (done) => { + it('should move and rename folder', async () => { mockFetchResponse(false) let res: any = await sasViyaApiClient.moveFolder( @@ -26,11 +26,9 @@ describe('FolderOperations', () => { expect(res.folder.name).toEqual('newName') expect(res.folder.parentFolderUri.split('=')[1]).toEqual('/Test/toFolder') - - done() }) - it('should move and keep the name of folder', async (done) => { + it('should move and keep the name of folder', async () => { mockFetchResponse(true) let res: any = await sasViyaApiClient.moveFolder( @@ -42,11 +40,9 @@ describe('FolderOperations', () => { expect(res.folder.name).toEqual('oldName') expect(res.folder.parentFolderUri.split('=')[1]).toEqual('/Test/toFolder') - - done() }) - it('should only rename folder', async (done) => { + it('should only rename folder', async () => { mockFetchResponse(false) let res: any = await sasViyaApiClient.moveFolder( @@ -58,8 +54,6 @@ describe('FolderOperations', () => { expect(res.folder.name).toEqual('newName') expect(res.folder.parentFolderUri.split('=')[1]).toEqual('/Test/toFolder') - - done() }) }) diff --git a/src/test/utils/parseGeneratedCode.spec.ts b/src/test/utils/parseGeneratedCode.spec.ts index d08108d..36c1353 100644 --- a/src/test/utils/parseGeneratedCode.spec.ts +++ b/src/test/utils/parseGeneratedCode.spec.ts @@ -1,6 +1,6 @@ import { parseGeneratedCode } from '../../utils/index' -it('should parse generated code', async (done) => { +it('should parse generated code', () => { expect(sampleResponse).toBeTruthy() const parsedGeneratedCode = parseGeneratedCode(sampleResponse) @@ -15,8 +15,6 @@ it('should parse generated code', async (done) => { expect(generatedCodeLines[2].startsWith('MPRINT(MM_WEBOUT)')).toBeTruthy() expect(generatedCodeLines[3].startsWith('MPRINT(MM_WEBRIGHT)')).toBeTruthy() expect(generatedCodeLines[4].startsWith('MPRINT(MM_WEBOUT)')).toBeTruthy() - - done() }) /* tslint:disable */ diff --git a/src/test/utils/parseSourceCode.spec.ts b/src/test/utils/parseSourceCode.spec.ts index 4e779cb..7510000 100644 --- a/src/test/utils/parseSourceCode.spec.ts +++ b/src/test/utils/parseSourceCode.spec.ts @@ -1,6 +1,6 @@ import { parseSourceCode } from '../../utils/index' -it('should parse SAS9 source code', async (done) => { +it('should parse SAS9 source code', async () => { expect(sampleResponse).toBeTruthy() const parsedSourceCode = parseSourceCode(sampleResponse) @@ -15,8 +15,6 @@ it('should parse SAS9 source code', async (done) => { expect(sourceCodeLines[2].startsWith('8')).toBeTruthy() expect(sourceCodeLines[3].startsWith('9')).toBeTruthy() expect(sourceCodeLines[4].startsWith('10')).toBeTruthy() - - done() }) /* tslint:disable */