Merge branch '18203-Support-setting-multi-properties-at-once' into main
[arvados-workbench2.git] / cypress / integration / project.spec.js
index ecac38614a1ca015ddf23a0e3b7fd0868d39dd2d..7371ed060bf79bded70edd01f3bd0d8ff18f1892 100644 (file)
@@ -28,7 +28,7 @@ describe('Project tests', function() {
         cy.clearLocalStorage();
     });
 
-    it('creates a new project with properties', function() {
+    it('creates a new project with multiple properties', function() {
         const projName = `Test project (${Math.floor(999999 * Math.random())})`;
         cy.loginAs(activeUser);
         cy.get('[data-cy=side-panel-button]').click();
@@ -51,9 +51,26 @@ describe('Project tests', function() {
                 cy.get('input').type('Magenta');
             });
             cy.root().submit();
+            cy.get('[data-cy=property-field-value]').within(() => {
+                cy.get('input').type('Pink');
+            });
+            cy.root().submit();
+            cy.get('[data-cy=property-field-value]').within(() => {
+                cy.get('input').type('Yellow');
+            });
+            cy.root().submit();
         });
         // Confirm proper vocabulary labels are displayed on the UI.
         cy.get('[data-cy=form-dialog]').should('contain', 'Color: Magenta');
+        cy.get('[data-cy=form-dialog]').should('contain', 'Color: Pink');
+        cy.get('[data-cy=form-dialog]').should('contain', 'Color: Yellow');
+
+        cy.get('[data-cy=resource-properties-form]').within(() => {
+            cy.get('[data-cy=property-field-key]').within(() => {
+                cy.get('input').focus();
+            });
+            cy.get('[data-cy=property-field-key]').should('not.contain', 'Color');
+        });
 
         // Create project and confirm the properties' real values.
         cy.get('[data-cy=form-submit-btn]').click();
@@ -201,8 +218,7 @@ describe('Project tests', function() {
             name: `Test root project ${Math.floor(Math.random() * 999999)}`,
             group_class: 'project',
         }).as('testProject1').then((testProject1) => {
-      
-            cy.shareWith(adminUser.token, activeUser.user.uuid, testCollection2.uuid, 'can_write');
+            cy.shareWith(adminUser.token, activeUser.user.uuid, testProject1.uuid, 'can_write');
         });
 
         cy.getAll('@testProject1').then(function([testProject1]) {