From: Daniel Kutyła Date: Tue, 5 Apr 2022 15:11:04 +0000 (+0200) Subject: 18834: Unit tests added X-Git-Tag: 2.4.1~8^2~1 X-Git-Url: https://git.arvados.org/arvados-workbench2.git/commitdiff_plain/14b107de3fe4c29f4a37f1958bad99e2b82d2b24 18834: Unit tests added Arvados-DCO-1.1-Signed-off-by: Daniel Kutyła --- diff --git a/cypress/integration/collection.spec.js b/cypress/integration/collection.spec.js index 2ce6bcd5..74acd056 100644 --- a/cypress/integration/collection.spec.js +++ b/cypress/integration/collection.spec.js @@ -974,8 +974,9 @@ describe('Collection panel tests', function () { cy.get('[data-cy=drag-and-drop]').upload(content, '5mb_b.bin'); cy.get('[data-cy=form-submit-btn]').click(); cy.get('[data-cy=form-submit-btn]').should('not.exist'); - cy.get('[data-cy=collection-files-panel]') + cy.get('[data-cy=collection-files-right-panel]') .contains('5mb_b.bin').should('exist'); + }); }); }); diff --git a/src/components/collection-panel-files/collection-panel-files.tsx b/src/components/collection-panel-files/collection-panel-files.tsx index 56833f64..05b49363 100644 --- a/src/components/collection-panel-files/collection-panel-files.tsx +++ b/src/components/collection-panel-files/collection-panel-files.tsx @@ -446,7 +446,7 @@ export const CollectionPanelFiles = withStyles(styles)(connect((state: RootState
-
1 ? classes.leftPanelVisible : classes.leftPanelHidden)}> +
1 ? classes.leftPanelVisible : classes.leftPanelHidden)} data-cy="collection-files-left-panel"> 1 ? classes.backButton : classes.backButtonHidden}> setPath([...path.slice(0, path.length -1)])}> @@ -498,7 +498,7 @@ export const CollectionPanelFiles = withStyles(styles)(connect((state: RootState
-
+
diff --git a/src/services/collection-service/collection-service.test.ts b/src/services/collection-service/collection-service.test.ts index b759fd1a..4aa55ef3 100644 --- a/src/services/collection-service/collection-service.test.ts +++ b/src/services/collection-service/collection-service.test.ts @@ -21,6 +21,7 @@ describe('collection-service', () => { axiosMock = new MockAdapter(serverApi); webdavClient = { delete: jest.fn(), + upload: jest.fn(), } as any; authService = {} as AuthService; actions = { @@ -84,6 +85,47 @@ describe('collection-service', () => { }); }); + describe('uploadFiles', () => { + it('should skip if no files to upload files', async () => { + // given + const files: File[] = []; + const collectionUUID = ''; + + // when + await collectionService.uploadFiles(collectionUUID, files); + + // then + expect(webdavClient.upload).not.toHaveBeenCalled(); + }); + + it('should upload files', async () => { + // given + const files: File[] = [{name: 'test-file1'} as File]; + const collectionUUID = 'zzzzz-4zz18-0123456789abcde'; + + // when + await collectionService.uploadFiles(collectionUUID, files); + + // then + expect(webdavClient.upload).toHaveBeenCalledTimes(1); + expect(webdavClient.upload.mock.calls[0][0]).toEqual("c=zzzzz-4zz18-0123456789abcde/test-file1"); + }); + + it('should upload files with custom uplaod target', async () => { + // given + const files: File[] = [{name: 'test-file1'} as File]; + const collectionUUID = 'zzzzz-4zz18-0123456789abcde'; + const customTarget = 'zzzzz-4zz18-0123456789adddd/test-path/' + + // when + await collectionService.uploadFiles(collectionUUID, files, undefined, customTarget); + + // then + expect(webdavClient.upload).toHaveBeenCalledTimes(1); + expect(webdavClient.upload.mock.calls[0][0]).toEqual("c=zzzzz-4zz18-0123456789adddd/test-path//test-file1"); + }); + }); + describe('deleteFiles', () => { it('should remove no files', async () => { // given