X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/ca3047891da01be64c1b1ac558fb57e7c477278c..a289f3d06835fb037da8082c34b6a7e30246bd1a:/cypress/integration/collection.spec.js?ds=sidebyside diff --git a/cypress/integration/collection.spec.js b/cypress/integration/collection.spec.js index 0ff26706..bd211b1a 100644 --- a/cypress/integration/collection.spec.js +++ b/cypress/integration/collection.spec.js @@ -595,6 +595,53 @@ describe('Collection panel tests', function () { }) }); + it('moves a collection to a different project', function () { + const collName = `Test Collection ${Math.floor(Math.random() * 999999)}`; + const projName = `Test Project ${Math.floor(Math.random() * 999999)}`; + const fileName = `Test_File_${Math.floor(Math.random() * 999999)}`; + + cy.createCollection(adminUser.token, { + name: collName, + owner_uuid: activeUser.user.uuid, + manifest_text: `. 37b51d194a7513e45b56f6524f2d51f2+3 0:3:${fileName}\n`, + }).as('testCollection'); + cy.createGroup(adminUser.token, { + name: projName, + group_class: 'project', + owner_uuid: activeUser.user.uuid, + }).as('testProject'); + + cy.getAll('@testCollection', '@testProject') + .then(function ([testCollection, testProject]) { + cy.loginAs(activeUser); + cy.goToPath(`/collections/${testCollection.uuid}`); + cy.get('[data-cy=collection-files-panel]').should('contain', fileName); + cy.get('[data-cy=collection-info-panel]') + .should('not.contain', projName) + .and('not.contain', testProject.uuid); + cy.get('[data-cy=collection-panel-options-btn]').click(); + cy.get('[data-cy=context-menu]').contains('Move to').click(); + cy.get('[data-cy=form-dialog]') + .should('contain', 'Move to') + .within(() => { + cy.get('[data-cy=projects-tree-home-tree-picker]') + .find('i') + .click(); + cy.get('[data-cy=projects-tree-home-tree-picker]') + .contains(projName) + .click(); + }); + cy.get('[data-cy=form-submit-btn]').click(); + cy.get('[data-cy=snackbar]') + .contains('Collection has been moved') + cy.get('[data-cy=collection-info-panel]') + .contains(projName).and('contain', testProject.uuid); + // Double check that the collection is in the project + cy.goToPath(`/projects/${testProject.uuid}`); + cy.get('[data-cy=project-panel]').should('contain', collName); + }); + }); + it('makes a copy of an existing collection', function() { const collName = `Test Collection ${Math.floor(Math.random() * 999999)}`; const copyName = `Copy of: ${collName}`;