X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/36c33008be2896228d3040c756d80e8878907655..20b17ce2416339b68b598765ed1f7f09e60cd95f:/cypress/integration/virtual-machine-admin.spec.js diff --git a/cypress/integration/virtual-machine-admin.spec.js b/cypress/integration/virtual-machine-admin.spec.js index 73804b2030..80d649777b 100644 --- a/cypress/integration/virtual-machine-admin.spec.js +++ b/cypress/integration/virtual-machine-admin.spec.js @@ -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