Merge branch '17290-Create-collections-from-selected-files-issue' into main
authorDaniel Kutyła <daniel.kutyla@contractors.roche.com>
Wed, 26 Jan 2022 15:48:30 +0000 (16:48 +0100)
committerDaniel Kutyła <daniel.kutyla@contractors.roche.com>
Wed, 26 Jan 2022 15:48:36 +0000 (16:48 +0100)
closes #17290

Arvados-DCO-1.1-Signed-off-by: Daniel Kutyła <daniel.kutyla@contractors.roche.com>

cypress/integration/collection.spec.js
src/store/collections/collection-partial-copy-actions.ts

index 51933887452479e483f42bda461755efb78a4eb5..f6547aae389d9e695e436591bd072ea81c0d7ed1 100644 (file)
@@ -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}`);
index 9f478d74b71cd5d1bd292167e4626f226ba14dbe..a0c4e4e490d3476bea7ef247d076c6b23a269289 100644 (file)
@@ -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<any>(resetPickerProjectTree());