19153: Fix project cypress test
[arvados-workbench2.git] / cypress / integration / favorites.spec.js
index 6750650dc2789d66257463e4b37c9bbcf0e4fc70..7fd091245f770015a7c86c12ae938d0ace54db86 100644 (file)
@@ -44,7 +44,8 @@ describe('Favorites tests', function () {
         });
     });
 
-    it('can copy selected into the collection', () => {
+    // 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"
@@ -63,7 +64,7 @@ describe('Favorites tests', function () {
                 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();
@@ -132,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,
@@ -175,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}]`);
@@ -196,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}]`);
@@ -204,101 +254,4 @@ describe('Favorites tests', function () {
                     });
             });
     });
-
-    it('can select multi files when creating workflow', () => {
-        cy.createProject({
-            owningUser: activeUser,
-            projectName: 'myProject1',
-            addToFavorites: true
-        });
-
-        cy.createCollection(adminUser.token, {
-            name: `Test collection ${Math.floor(Math.random() * 999999)}`,
-            owner_uuid: activeUser.user.uuid,
-            manifest_text: ". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:bar\n. 37b51d194a7513e45b56f6524f2d51f2+3 0:3:baz\n"
-        })
-            .as('testCollection');
-
-        cy.createCollection(adminUser.token, {
-            name: `Test collection ${Math.floor(Math.random() * 999999)}`,
-            owner_uuid: activeUser.user.uuid,
-            manifest_text: `. 37b51d194a7513e45b56f6524f2d51f2+3 0:3:buz\n`
-        })
-            .as('testCollection2');
-
-        cy.getAll('@myProject1', '@testCollection', '@testCollection2')
-            .then(function ([myProject1, testCollection, testCollection2]) {
-                cy.readFile('cypress/fixtures/workflow_with_array_fields.yaml').then(workflow => {
-                    cy.createWorkflow(adminUser.token, {
-                        name: `TestWorkflow${Math.floor(Math.random() * 999999)}.cwl`,
-                        definition: workflow,
-                        owner_uuid: myProject1.uuid,
-                    })
-                        .as('testWorkflow');
-                });
-
-                cy.loginAs(activeUser);
-
-                cy.get('main').contains(myProject1.name).click();
-
-                cy.get('[data-cy=side-panel-button]').click();
-
-                cy.get('#aside-menu-list').contains('Run a process').click();
-
-                cy.get('@testWorkflow')
-                    .then((testWorkflow) => {
-                        cy.get('main').contains(testWorkflow.name).click();
-                        cy.get('[data-cy=run-process-next-button]').click();
-
-                        cy.get('label').contains('#main/foo').parent('div').find('input').click();
-                        cy.get('div[role=dialog]')
-                            .within(() => {
-                                cy.get('p').contains('Projects').closest('div[role=button]')
-                                    .within(() => {
-                                        cy.get('svg[role=presentation]')
-                                            .click({ multiple: true });
-                                    });
-
-                                cy.get(`[data-id=${testCollection.uuid}]`)
-                                    .find('i').click();
-
-                                cy.contains('bar').closest('[data-action=TOGGLE_ACTIVE]').parent().find('input[type=checkbox]').click();
-
-                                cy.contains('baz').closest('[data-action=TOGGLE_ACTIVE]').parent().find('input[type=checkbox]').click();
-
-                                cy.get('[data-cy=ok-button]').click();
-                            });
-
-                        cy.get('label').contains('#main/bar').parent('div').find('input').click();
-                        cy.get('div[role=dialog]')
-                            .within(() => {
-                                cy.get('p').contains('Projects').closest('div[role=button]')
-                                    .within(() => {
-                                        cy.get('svg[role=presentation]')
-                                            .click({ multiple: true });
-                                    });
-
-                                cy.get(`[data-id=${testCollection.uuid}]`)
-                                    .find('input[type=checkbox]').click();
-
-                                cy.get(`[data-id=${testCollection2.uuid}]`)
-                                    .find('input[type=checkbox]').click();
-
-                                cy.get('[data-cy=ok-button]').click();
-                            });
-                    });
-
-                cy.get('label').contains('#main/foo').parent('div')
-                    .within(() => {
-                        cy.contains('baz');
-                        cy.contains('bar');
-                    });
-
-                cy.get('label').contains('#main/bar').parent('div')
-                    .within(() => {
-                        cy.contains(testCollection.name);
-                        cy.contains(testCollection2.name);
-                    });
-            });
-    });
-});
\ No newline at end of file
+});