19153: Fix project cypress test
[arvados-workbench2.git] / cypress / integration / favorites.spec.js
index 9d51cc7fc9553f1930b40117d9392b2a0473ae3b..7fd091245f770015a7c86c12ae938d0ace54db86 100644 (file)
@@ -44,16 +44,14 @@ describe('Favorites tests', function () {
         });
     });
 
-    it('can copy selected into the collection', () => {
-        cy.loginAs(adminUser);
-
+    // Disabled while addressing #18587
+    it.skip('can copy selected into the collection', () => {
         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');
         });
-
         cy.createCollection(adminUser.token, {
             name: `Test target collection ${Math.floor(Math.random() * 999999)}`,
         }).as('testTargetCollection').then(function (testTargetCollection) {
@@ -63,29 +61,22 @@ describe('Favorites tests', function () {
 
         cy.getAll('@testSourceCollection', '@testTargetCollection')
             .then(function ([testSourceCollection, testTargetCollection]) {
-                cy.get('.layout-pane-primary').contains('Projects').click();
-                cy.get('main').contains(testSourceCollection.name).click();
+                cy.loginAs(activeUser);
+                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]').find('input[type=checkbox]').click();
                 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');
             });
     });
@@ -142,7 +133,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,
@@ -185,13 +219,16 @@ describe('Favorites tests', function () {
 
                 cy.get('[data-cy=side-panel-button]').click();
 
-                cy.get('#aside-menu-list').contains('Run a process').click();
+                cy.get('#aside-menu-list').contains('Run a workflow').click();
 
                 cy.get('@testWorkflow')
                     .then((testWorkflow) => {
                         cy.get('main').contains(testWorkflow.name).click();
                         cy.get('[data-cy=run-process-next-button]').click();
-                        cy.get('[readonly]').click();
+                        cy.get('[data-cy=new-process-panel]')
+                            .within(() => {
+                                cy.contains('input').next().click();
+                            });
                         cy.get('[data-cy=choose-a-file-dialog]').as('chooseFileDialog');
                         cy.get('[data-cy=projects-tree-favourites-tree-picker]').contains('Favorites').closest('ul').find('i').click();
                         cy.get('@chooseFileDialog').find(`[data-id=${mySharedWritableProject.uuid}]`);
@@ -206,7 +243,10 @@ describe('Favorites tests', function () {
                         cy.get('main').contains(testWorkflow2.name).click();
                         cy.get('button').contains('Change Workflow').click();
                         cy.get('[data-cy=run-process-next-button]').click();
-                        cy.get('[readonly]').click();
+                        cy.get('[data-cy=new-process-panel]')
+                            .within(() => {
+                                cy.contains('image_collection').next().click();
+                            });
                         cy.get('[data-cy=choose-a-directory-dialog]').as('chooseDirectoryDialog');
                         cy.get('[data-cy=projects-tree-favourites-tree-picker]').contains('Favorites').closest('ul').find('i').click();
                         cy.get('@chooseDirectoryDialog').find(`[data-id=${mySharedWritableProject.uuid}]`);
@@ -214,4 +254,4 @@ describe('Favorites tests', function () {
                     });
             });
     });
-});
\ No newline at end of file
+});