17290: Added prefix to the name of the copied collection
[arvados-workbench2.git] / cypress / integration / collection.spec.js
index 32c1320b867a46720023f407ff0e8e494b7fc9bc..f6547aae389d9e695e436591bd072ea81c0d7ed1 100644 (file)
@@ -120,7 +120,7 @@ describe('Collection panel tests', function () {
             });
     });
 
-    it('uses the property editor (from details panel) with vocabulary terms', function () {
+    it('uses the editor (from details panel) with vocabulary terms', function () {
         cy.createCollection(adminUser.token, {
             name: `Test collection ${Math.floor(Math.random() * 999999)}`,
             owner_uuid: activeUser.user.uuid,
@@ -139,7 +139,7 @@ describe('Collection panel tests', function () {
                 cy.get('[data-cy=details-panel]').within(() => {
                     cy.get('[data-cy=details-panel-edit-btn]').click();
                 });
-                cy.get('[data-cy=resource-properties-dialog').contains('Edit properties');
+                cy.get('[data-cy=form-dialog').contains('Edit Collection');
 
                 // Key: Color (IDTAGCOLORS) - Value: Magenta (IDVALCOLORS3)
                 cy.get('[data-cy=resource-properties-form]').within(() => {
@@ -152,14 +152,8 @@ describe('Collection panel tests', function () {
                     cy.root().submit();
                 });
                 // Confirm proper vocabulary labels are displayed on the UI.
-                cy.get('[data-cy=resource-properties-dialog]')
+                cy.get('[data-cy=form-dialog]')
                     .should('contain', 'Color: Magenta');
-                // Confirm proper vocabulary IDs were saved on the backend.
-                cy.doRequest('GET', `/arvados/v1/collections/${this.testCollection.uuid}`)
-                    .its('body').as('collection')
-                    .then(function () {
-                        expect(this.collection.properties.IDTAGCOLORS).to.equal('IDVALCOLORS3');
-                    });
 
                 // Case-insensitive on-blur auto-selection test
                 // Key: Size (IDTAGSIZES) - Value: Small (IDVALSIZES2)
@@ -176,19 +170,21 @@ describe('Collection panel tests', function () {
                     cy.root().submit();
                 });
                 // Confirm proper vocabulary labels are displayed on the UI.
-                cy.get('[data-cy=resource-properties-dialog]')
+                cy.get('[data-cy=form-dialog]')
                     .should('contain', 'Size: S');
+
+                cy.get('[data-cy=form-dialog]').contains('Save').click();
+                cy.get('[data-cy=form-dialog]').should('not.exist');
+
                 // Confirm proper vocabulary IDs were saved on the backend.
                 cy.doRequest('GET', `/arvados/v1/collections/${this.testCollection.uuid}`)
                     .its('body').as('collection')
                     .then(function () {
+                        expect(this.collection.properties.IDTAGCOLORS).to.equal('IDVALCOLORS3');
                         expect(this.collection.properties.IDTAGSIZES).to.equal('IDVALSIZES2');
                     });
 
-                // Close property editor & confirm properties display on the UI.
-                cy.get('[data-cy=resource-properties-dialog]').within(() => {
-                    cy.get('[data-cy=close-dialog-btn]').click();
-                });
+                // Confirm properties display on the UI.
                 cy.get('[data-cy=collection-info-panel')
                     .should('contain', this.testCollection.name)
                     .and('contain', 'Color: Magenta')
@@ -795,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}`);