X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/409d38425d383c81606220782f1abe9cd014aab5..4a917782a054773c2cb72f3ee364e2c0b02643e9:/cypress/integration/favorites.spec.js diff --git a/cypress/integration/favorites.spec.js b/cypress/integration/favorites.spec.js index b0feb30b..13a2c467 100644 --- a/cypress/integration/favorites.spec.js +++ b/cypress/integration/favorites.spec.js @@ -14,14 +14,12 @@ describe('Favorites tests', function () { cy.getUser('admin', 'Admin', 'User', true, true) .as('adminUser').then(function () { adminUser = this.adminUser; - } - ); + }); cy.getUser('collectionuser1', 'Collection', 'User', false, true) .as('activeUser').then(function () { activeUser = this.activeUser; - } - ); - }) + }); + }); beforeEach(function () { cy.clearCookies() @@ -47,54 +45,37 @@ describe('Favorites tests', function () { }); it('can copy selected into the collection', () => { - cy.loginAs(adminUser); - cy.createCollection(adminUser.token, { name: `Test source collection ${Math.floor(Math.random() * 999999)}`, manifest_text: ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:bar\n" - }) - .as('testSourceCollection').then(function (testSourceCollection) { - cy.shareWith(adminUser.token, activeUser.user.uuid, testSourceCollection.uuid, 'can_read'); - }); - + }).as('testSourceCollection').then(function (testSourceCollection) { + cy.shareWith(adminUser.token, activeUser.user.uuid, testSourceCollection.uuid, 'can_read'); + }); cy.createCollection(adminUser.token, { name: `Test target collection ${Math.floor(Math.random() * 999999)}`, - }) - .as('testTargetCollection').then(function (testTargetCollection) { - cy.shareWith(adminUser.token, activeUser.user.uuid, testTargetCollection.uuid, 'can_write'); - }); + }).as('testTargetCollection').then(function (testTargetCollection) { + cy.shareWith(adminUser.token, activeUser.user.uuid, testTargetCollection.uuid, 'can_write'); + cy.addToFavorites(activeUser.token, activeUser.user.uuid, testTargetCollection.uuid); + }); cy.getAll('@testSourceCollection', '@testTargetCollection') .then(function ([testSourceCollection, testTargetCollection]) { cy.loginAs(activeUser); - - cy.get('.layout-pane-primary') - .contains('Projects').click(); - - cy.addToFavorites(activeUser.token, activeUser.user.uuid, testTargetCollection.uuid); - - cy.get('main').contains(testSourceCollection.name).click(); + cy.goToPath(`/collections/${testSourceCollection.uuid}`); cy.get('[data-cy=collection-files-panel]').contains('bar'); cy.get('[data-cy=collection-files-panel]').find('input[type=checkbox]').click({ force: true }); cy.get('[data-cy=collection-files-panel-options-btn]').click(); cy.get('[data-cy=context-menu]') .contains('Copy selected into the collection').click(); - cy.get('[data-cy=projects-tree-favourites-tree-picker]') .find('i') .click(); - cy.get('[data-cy=projects-tree-favourites-tree-picker]') .contains(testTargetCollection.name) .click(); - cy.get('[data-cy=form-submit-btn]').click(); - - cy.get('.layout-pane-primary') - .contains('Projects').click(); - - cy.get('main').contains(testTargetCollection.name).click(); - + cy.get('.layout-pane-primary').contains('Projects').click(); + cy.goToPath(`/collections/${testTargetCollection.uuid}`); cy.get('[data-cy=collection-files-panel]').contains('bar'); }); }); @@ -151,7 +132,50 @@ describe('Favorites tests', function () { }); }); - it('can view favourites in workflow', () => { + it('can edit project and collections in favorites', () => { + cy.createProject({ + owningUser: adminUser, + projectName: 'mySharedWritableProject', + canWrite: true, + addToFavorites: true + }); + + cy.createCollection(adminUser.token, { + owner_uuid: adminUser.user.uuid, + name: `Test target collection ${Math.floor(Math.random() * 999999)}`, + }).as('testTargetCollection').then(function (testTargetCollection) { + cy.addToFavorites(adminUser.token, adminUser.user.uuid, testTargetCollection.uuid); + }); + + cy.getAll('@mySharedWritableProject', '@testTargetCollection') + .then(function ([mySharedWritableProject, testTargetCollection]) { + cy.loginAs(adminUser); + + cy.get('[data-cy=side-panel-tree]').contains('My Favorites').click(); + + const newProjectName = `New project name ${mySharedWritableProject.name}`; + const newProjectDescription = `New project description ${mySharedWritableProject.name}`; + const newCollectionName = `New collection name ${testTargetCollection.name}`; + const newCollectionDescription = `New collection description ${testTargetCollection.name}`; + + cy.testEditProjectOrCollection('main', mySharedWritableProject.name, newProjectName, newProjectDescription); + cy.testEditProjectOrCollection('main', testTargetCollection.name, newCollectionName, newCollectionDescription, false); + + cy.get('[data-cy=side-panel-tree]').contains('Projects').click(); + + cy.get('main').contains(newProjectName).rightclick(); + cy.contains('Add to public favorites').click(); + cy.get('main').contains(newCollectionName).rightclick(); + cy.contains('Add to public favorites').click(); + + cy.get('[data-cy=side-panel-tree]').contains('Public Favorites').click(); + + cy.testEditProjectOrCollection('main', newProjectName, mySharedWritableProject.name, 'newProjectDescription'); + cy.testEditProjectOrCollection('main', newCollectionName, testTargetCollection.name, 'newCollectionDescription', false); + }); + }); + + it('can view favorites in workflow', () => { cy.createProject({ owningUser: adminUser, targetUser: activeUser, @@ -223,4 +247,4 @@ describe('Favorites tests', function () { }); }); }); -}); \ No newline at end of file +});