18549: Layout fixed, tests updated
[arvados-workbench2.git] / cypress / integration / favorites.spec.js
index b0feb30b86472c283d13b61cbbe993c2ae3af48b..9bc90ebdee4c9fda24b91a2c9c15312965d3fd46 100644 (file)
@@ -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()
@@ -46,55 +44,39 @@ 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');
-            });
-
+        }).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 +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,
@@ -223,4 +248,4 @@ describe('Favorites tests', function () {
                     });
             });
     });
-});
\ No newline at end of file
+});