diff options
Diffstat (limited to 'cypress/e2e/settings/users_modify.cy.ts')
-rw-r--r-- | cypress/e2e/settings/users_modify.cy.ts | 55 |
1 files changed, 52 insertions, 3 deletions
diff --git a/cypress/e2e/settings/users_modify.cy.ts b/cypress/e2e/settings/users_modify.cy.ts index 20ddd5a9c87..1fbcd60725c 100644 --- a/cypress/e2e/settings/users_modify.cy.ts +++ b/cypress/e2e/settings/users_modify.cy.ts @@ -29,17 +29,66 @@ describe('Settings: Change user properties', function() { before(function() { cy.createUser(jdoe) cy.login(admin) + // open the User settings + cy.visit('/settings/users') + }) + + beforeEach(function() { + cy.get(`tbody.user-list__body tr td[data-test="${jdoe.userId}"]`).parents('tr').within(() => { + // reset edit mode for the user jdoe + cy.get('td.row__cell--actions .action-items > button:first-of-type') + .invoke('attr', 'title') + .then((title) => { + if (title === 'Done') { + cy.get('td.row__cell--actions .action-items > button:first-of-type').click() + } + }) + }) }) after(() => { cy.deleteUser(jdoe) }) - it('Can change the password', function() { - // open the User settings - cy.visit('/settings/users') + it('Can change the display name', function() { + cy.get(`tbody.user-list__body tr td[data-test="${jdoe.userId}"]`).parents('tr').within(() => { + // see that the list of users contains the user jdoe + cy.contains(jdoe.userId).should('exist') + // toggle the edit mode for the user jdoe + cy.get('td.row__cell--actions .action-items > button:first-of-type').click() + }) cy.get(`tbody.user-list__body tr td[data-test="${jdoe.userId}"]`).parents('tr').within(() => { + // set the display name + cy.get('input[data-test="displayNameField"]').should('exist').and('have.value', 'jdoe') + cy.get('input[data-test="displayNameField"]').clear() + cy.get('input[data-test="displayNameField"]').type('John Doe') + cy.get('input[data-test="displayNameField"]').should('have.value', 'John Doe') + cy.get('input[data-test="displayNameField"] ~ button').click() + + // Ignore failure if modal is not shown + cy.once('fail', (error) => { + expect(error.name).to.equal('AssertionError') + expect(error).to.have.property('node', '.modal-container') + }) + // Make sure no confirmation modal is shown + cy.root().closest('body').find('.modal-container').then(($modal) => { + if ($modal.length > 0) { + cy.wrap($modal).find('input[type="password"]').type(admin.password) + cy.wrap($modal).find('button').contains('Confirm').click() + } + }) + + // see that the display name cell is done loading + cy.get('.user-row-text-field.icon-loading-small').should('exist') + cy.waitUntil(() => cy.get('.user-row-text-field.icon-loading-small').should('not.exist'), { timeout: 10000 }) + }) + // Success message is shown + cy.get('.toastify.toast-success').contains(/Display.+name.+was.+successfully.+changed/i).should('exist') + }) + + it('Can change the password', function() { + cy.get(`tbody.user-list__body tr td[data-test="${jdoe.userId}"]`).parents('tr').within(() => { // see that the list of users contains the user jdoe cy.contains(jdoe.userId).should('exist') // toggle the edit mode for the user jdoe |