From: Daniel Kutyła Date: Wed, 26 Jan 2022 15:48:30 +0000 (+0100) Subject: Merge branch '17290-Create-collections-from-selected-files-issue' into main X-Git-Tag: 2.4.0~16 X-Git-Url: https://git.arvados.org/arvados-workbench2.git/commitdiff_plain/3c9eb7d7611832176fe11ab77e749d397afadb09?hp=7f160d39308e02e571543b2958320f387b5372ab Merge branch '17290-Create-collections-from-selected-files-issue' into main closes #17290 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 51933887..f6547aae 100644 --- a/cypress/integration/collection.spec.js +++ b/cypress/integration/collection.spec.js @@ -791,6 +791,35 @@ describe('Collection panel tests', function () { }); }); + it('creates collection from selected files of another collection', () => { + cy.createCollection(adminUser.token, { + name: `Test Collection ${Math.floor(Math.random() * 999999)}`, + owner_uuid: activeUser.user.uuid, + preserve_version: true, + manifest_text: ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:foo 0:3:bar\n" + }) + .as('collection').then(function () { + // Visit collection, check basic information + cy.loginAs(activeUser) + cy.goToPath(`/collections/${this.collection.uuid}`); + + cy.get('[data-cy=collection-files-panel]').within(() => { + cy.get('input[type=checkbox]').first().click(); + }); + + cy.get('[data-cy=collection-files-panel-options-btn]').click(); + cy.get('[data-cy=context-menu]').contains('Create a new collection with selected').click(); + + cy.get('[data-cy=form-dialog]').contains('Projects').click(); + + cy.get('[data-cy=form-submit-btn]').click(); + + cy.get('.layout-pane-primary', { wait: 12000 }).contains('Projects').click(); + + cy.get('main').contains(`Files extracted from: ${this.collection.name}`).should('exist'); + }); + }); + it('creates new collection with properties on home project', function () { cy.loginAs(activeUser); cy.goToPath(`/projects/${activeUser.user.uuid}`); diff --git a/src/store/collections/collection-partial-copy-actions.ts b/src/store/collections/collection-partial-copy-actions.ts index 9f478d74..a0c4e4e4 100644 --- a/src/store/collections/collection-partial-copy-actions.ts +++ b/src/store/collections/collection-partial-copy-actions.ts @@ -13,7 +13,7 @@ import { filterCollectionFilesBySelection } from '../collection-panel/collection import { snackbarActions, SnackbarKind } from 'store/snackbar/snackbar-actions'; import { getCommonResourceServiceError, CommonResourceServiceError } from 'services/common-service/common-resource-service'; import { progressIndicatorActions } from "store/progress-indicator/progress-indicator-actions"; -import { initProjectsTreePicker } from 'store/tree-picker/tree-picker-actions'; +import { initProjectsTreePicker } from "store/tree-picker/tree-picker-actions"; export const COLLECTION_PARTIAL_COPY_FORM_NAME = 'COLLECTION_PARTIAL_COPY_DIALOG'; export const COLLECTION_PARTIAL_COPY_TO_SELECTED_COLLECTION = 'COLLECTION_PARTIAL_COPY_TO_SELECTED_DIALOG'; @@ -33,9 +33,9 @@ export const openCollectionPartialCopyDialog = () => const currentCollection = getState().collectionPanel.item; if (currentCollection) { const initialData = { - name: currentCollection.name, + name: `Files extracted from: ${currentCollection.name}`, description: currentCollection.description, - projectUuid: '' + projectUuid: undefined }; dispatch(initialize(COLLECTION_PARTIAL_COPY_FORM_NAME, initialData)); dispatch(resetPickerProjectTree());