From 14b107de3fe4c29f4a37f1958bad99e2b82d2b24 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Kuty=C5=82a?= Date: Tue, 5 Apr 2022 17:11:04 +0200 Subject: [PATCH] 18834: Unit tests added MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Arvados-DCO-1.1-Signed-off-by: Daniel Kutyła --- cypress/integration/collection.spec.js | 3 +- .../collection-panel-files.tsx | 4 +- .../collection-service.test.ts | 42 +++++++++++++++++++ 3 files changed, 46 insertions(+), 3 deletions(-) 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 -- 2.30.2