19991: Add small delay to allow open in new tab / copy to clipboard to execute
[arvados-workbench2.git] / cypress / integration / virtual-machine-admin.spec.js
index 73804b2030da01a5d50f80d4a75da380b49425d7..80d649777bfb436d6f9052f17dd74ccbfd0d63ae 100644 (file)
@@ -50,20 +50,31 @@ describe('Virtual machine login manage tests', function() {
                     cy.get('input').type('VMAdmin');
                   })
             });
-        cy.get('[role=tooltip]').click();
-        cy.get('[data-cy=form-dialog]')
+        cy.waitForDom().get('[role=tooltip]').click();
+        cy.get('[data-cy=form-dialog]').as('add-login-dialog')
             .should('contain', 'Add login permission')
             .within(() => {
                 cy.get('label')
                   .contains('Add groups')
                   .parent()
                   .within(() => {
-                    cy.get('input').type('docker sudo{enter}');
+                    cy.get('input').type('docker ');
+                    // Veryfy submit enabled (form has changed)
+                    cy.get('@add-login-dialog').within(() => {
+                        cy.get('[data-cy=form-submit-btn]').should('be.enabled');
+                    });
+                    cy.get('input').type('sudo');
+                    // Veryfy submit disabled (partial input in chips)
+                    cy.get('@add-login-dialog').within(() => {
+                        cy.get('[data-cy=form-submit-btn]').should('be.disabled');
+                    });
+                    cy.get('input').type('{enter}');
                   })
             });
         cy.get('[data-cy=form-dialog]').within(() => {
             cy.get('[data-cy=form-submit-btn]').click();
         });
+
         cy.get('[data-cy=vm-admin-table]')
             .contains(vmHost)
             .parents('tr')
@@ -92,6 +103,7 @@ describe('Virtual machine login manage tests', function() {
         cy.get('[data-cy=form-dialog]').within(() => {
             cy.get('[data-cy=form-submit-btn]').click();
         });
+
         cy.get('[data-cy=vm-admin-table]')
             .contains(vmHost)
             .parents('tr')
@@ -160,8 +172,16 @@ describe('Virtual machine login manage tests', function() {
             cy.get('[data-cy=form-submit-btn]').click();
         });
 
+        // Wait for page to finish loading
         cy.get('[data-cy=vm-admin-table]')
-            .contains('user'); // Wait for page to finish
+            .contains(vmHost)
+            .parents('tr')
+            .within(() => {
+                cy.get('div[role=button]')
+                    .parent()
+                    .first()
+                    .contains('admin')
+            });
 
         cy.get('[data-cy=vm-admin-table]')
             .contains(vmHost)
@@ -249,11 +269,11 @@ describe('Virtual machine login manage tests', function() {
         cy.get('@removeButton').click();
         cy.get('[data-cy=confirmation-dialog-ok-btn]').click();
 
-        cy.get('[data-cy=vm-admin-table]')
+        cy.waitForDom().get('[data-cy=vm-admin-table]')
             .contains(vmHost)
             .parents('tr')
             .within(() => {
-                cy.get('div[role=button]').should('not.contain', 'admin');
+                cy.get('div[role=button]').should('not.exist');
             });
 
         // Check admin's vm page for login