[ARVADOS-WORKBENCH2] updated: 2.3.0-209-g14b107de
Git user
git at public.arvados.org
Tue Apr 5 15:11:49 UTC 2022
Summary of changes:
cypress/integration/collection.spec.js | 3 +-
.../collection-panel-files.tsx | 4 +--
.../collection-service/collection-service.test.ts | 42 ++++++++++++++++++++++
3 files changed, 46 insertions(+), 3 deletions(-)
via 14b107de3fe4c29f4a37f1958bad99e2b82d2b24 (commit)
from c8a07de05867fe2e959eb0063a674a4f026f5b76 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 14b107de3fe4c29f4a37f1958bad99e2b82d2b24
Author: Daniel Kutyła <daniel.kutyla at contractors.roche.com>
Date: Tue Apr 5 17:11:04 2022 +0200
18834: Unit tests added
Arvados-DCO-1.1-Signed-off-by: Daniel Kutyła <daniel.kutyla at contractors.roche.com>
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
</Tooltip>
</div>
<div className={classes.wrapper}>
- <div className={classNames(classes.leftPanel, path.length > 1 ? classes.leftPanelVisible : classes.leftPanelHidden)}>
+ <div className={classNames(classes.leftPanel, path.length > 1 ? classes.leftPanelVisible : classes.leftPanelHidden)} data-cy="collection-files-left-panel">
<Tooltip title="Go back" className={path.length > 1 ? classes.backButton : classes.backButtonHidden}>
<IconButton onClick={() => setPath([...path.slice(0, path.length -1)])}>
<BackIcon />
@@ -498,7 +498,7 @@ export const CollectionPanelFiles = withStyles(styles)(connect((state: RootState
</div>
</div>
- <div className={classes.rightPanel}>
+ <div className={classes.rightPanel} data-cy="collection-files-right-panel">
<div className={classes.searchWrapper}>
<SearchInput selfClearProp={rightKey} label="Search" value={rightSearch} onSearch={setRightSearch} />
</div>
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
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list