From 74c067dd6aa092e624c1cc9db7d16ffae91a90fc Mon Sep 17 00:00:00 2001 From: heikkkk <henrik.teksle.sandok@hotmail.no> Date: Wed, 1 May 2024 14:18:25 +0200 Subject: [PATCH] test: add e2e test for updating email --- .../e2e/Settings/SettingsAccountView.cy.ts | 35 +++++++++++++++++++ src/views/Settings/SettingsAccountView.vue | 10 +++--- 2 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 cypress/e2e/Settings/SettingsAccountView.cy.ts diff --git a/cypress/e2e/Settings/SettingsAccountView.cy.ts b/cypress/e2e/Settings/SettingsAccountView.cy.ts new file mode 100644 index 0000000..f24d8df --- /dev/null +++ b/cypress/e2e/Settings/SettingsAccountView.cy.ts @@ -0,0 +1,35 @@ +describe('SettingsAccount Test', () => { + beforeEach(() => { + cy.visit('/login'); + cy.get('#emailInput input').type('user@example.com'); + cy.get('#passwordInput input').type('John1'); + cy.get('form').submit(); + cy.wait(1000); + cy.visit('/settings/account') + cy.wait(1000) + }); + + it('update email of user', () => { + cy.get('[data-cy="email-input"]').find('[data-cy="bi-input"]') + .should('have.value','user@example.com') + cy.get('[data-cy="email-input"]').find('[data-cy="bi-input"]').clear() + cy.get('[data-cy="email-input"]').find('[data-cy="bi-input"]').type('NewEmailforUser@NewExample.com') + cy.get('[data-cy="change-email-btn"]').click() + cy.wait(1000) + cy.get('[data-cy="change-email-msg-confirm"]').should('include.text', 'Email updated successfully!') + + cy.get('[data-cy="menu"]').get('[data-cy="user"]').click(); + cy.get('[data-testid="logout"]').click(); + + cy.get('#emailInput input').type('NewEmailforUser@NewExample.com'); + cy.get('#passwordInput input').type('John1'); + cy.get('form').submit(); + cy.wait(1000); + cy.visit('/settings/account') + cy.wait(1000) + + cy.get('[data-cy="email-input"]').find('[data-cy="bi-input"]').clear() + cy.get('[data-cy="email-input"]').find('[data-cy="bi-input"]').type('user@example.com') + cy.get('[data-cy="change-email-btn"]').click() + }) +}) \ No newline at end of file diff --git a/src/views/Settings/SettingsAccountView.vue b/src/views/Settings/SettingsAccountView.vue index 50c2bfe..51b570c 100644 --- a/src/views/Settings/SettingsAccountView.vue +++ b/src/views/Settings/SettingsAccountView.vue @@ -55,14 +55,16 @@ onMounted(() => { <hr> <form @submit.prevent="handleSubmit"> <div class="form-group"> - <BaseInput :model-value="emailRef" @input-change-event="handleEmailInputEvent" id="emailInput-change" + <BaseInput data-cy="email-input" :model-value="emailRef" + @input-change-event="handleEmailInputEvent" id="emailInput-change" input-id="email-new" type="email" label="E-post" placeholder="Skriv inn din e-post" invalid-message="Ugyldig e-post"/> </div> - <p class="text-danger">{{ errorMsg }}</p> - <p class="text-success">{{ confirmationMsg }}</p> + <p data-cy="change-email-msg-error" class="text-danger">{{ errorMsg }}</p> + <p data-cy="change-email-msg-confirm" class="text-success">{{ confirmationMsg }}</p> <br> - <button type="submit" class="btn btn-primary">Endre Informasjon</button> + <button data-cy="change-email-btn" type="submit" class="btn btn-primary">Endre + Informasjon</button> <hr> <div class="form-group"> <label class="d-block text-danger">Slett Bruker</label> -- GitLab