19305: Add cypress tests for edit project via breadcrumbs
[arvados-workbench2.git] / cypress / integration / project.spec.js
index 7371ed060bf79bded70edd01f3bd0d8ff18f1892..b2f6f33df33fc0772f0a6eedbf2973aff9a87d7e 100644 (file)
@@ -82,7 +82,41 @@ describe('Project tests', function() {
         .then(function() {
             expect(this.projects).to.have.lengthOf(1);
             expect(this.projects[0].properties).to.deep.equal(
-                {IDTAGCOLORS: 'IDVALCOLORS3'});
+                // Pink is not in the test vocab
+                {IDTAGCOLORS: ['IDVALCOLORS3', 'Pink', 'IDVALCOLORS1']});
+        });
+
+        // Open project edit via breadcrumbs
+        cy.get('[data-cy=breadcrumbs]').contains(projName).rightclick();
+        cy.get('[data-cy=context-menu]').contains('Edit').click();
+        cy.get('[data-cy=form-dialog]').within(() => {
+            cy.get('[data-cy=resource-properties-list]').within(() => {
+                cy.get('div[role=button]').contains('Color: Magenta');
+                cy.get('div[role=button]').contains('Color: Pink');
+                cy.get('div[role=button]').contains('Color: Yellow');
+            });
+        });
+        // Add another property
+        cy.get('[data-cy=resource-properties-form]').within(() => {
+            cy.get('[data-cy=property-field-key]').within(() => {
+                cy.get('input').type('Animal');
+            });
+            cy.get('[data-cy=property-field-value]').within(() => {
+                cy.get('input').type('Dog');
+            });
+            cy.root().submit();
+        });
+        cy.get('[data-cy=form-submit-btn]').click();
+        // Reopen edit via breadcrumbs and verify properties
+        cy.get('[data-cy=breadcrumbs]').contains(projName).rightclick();
+        cy.get('[data-cy=context-menu]').contains('Edit').click();
+        cy.get('[data-cy=form-dialog]').within(() => {
+            cy.get('[data-cy=resource-properties-list]').within(() => {
+                cy.get('div[role=button]').contains('Color: Magenta');
+                cy.get('div[role=button]').contains('Color: Pink');
+                cy.get('div[role=button]').contains('Color: Yellow');
+                cy.get('div[role=button]').contains('Animal: Dog');
+            });
         });
     });
 
@@ -245,7 +279,7 @@ describe('Project tests', function() {
         cy.getAll('@mainProject')
             .then(function ([mainProject]) {
                 cy.loginAs(adminUser);
-                
+
                 cy.get('[data-cy=side-panel-tree]').contains('Groups').click();
 
                 cy.get('[data-cy=uuid]').eq(0).invoke('text').then(uuid => {
@@ -277,4 +311,4 @@ describe('Project tests', function() {
                 });
         });
     });
-});
\ No newline at end of file
+});