From 2bd4dd3ab09d1db8ea2942688a3c6488801cba47 Mon Sep 17 00:00:00 2001 From: Ali BARIN Date: Tue, 9 Jul 2024 13:21:02 +0000 Subject: [PATCH] test(e2e-tests): cover password field removal --- .../e2e-tests/fixtures/admin/create-user-page.js | 2 +- .../e2e-tests/tests/admin/manage-roles.spec.js | 16 +++++++++++----- .../e2e-tests/tests/admin/manage-users.spec.js | 16 ++++++++-------- packages/web/src/pages/CreateUser/index.jsx | 3 +-- 4 files changed, 21 insertions(+), 16 deletions(-) diff --git a/packages/e2e-tests/fixtures/admin/create-user-page.js b/packages/e2e-tests/fixtures/admin/create-user-page.js index 222802cf..446423a2 100644 --- a/packages/e2e-tests/fixtures/admin/create-user-page.js +++ b/packages/e2e-tests/fixtures/admin/create-user-page.js @@ -11,10 +11,10 @@ export class AdminCreateUserPage extends AuthenticatedPage { super(page); this.fullNameInput = page.getByTestId('full-name-input'); this.emailInput = page.getByTestId('email-input'); - this.passwordInput = page.getByTestId('password-input'); this.roleInput = page.getByTestId('role.id-autocomplete'); this.createButton = page.getByTestId('create-button'); this.pageTitle = page.getByTestId('create-user-title'); + this.invitationEmailInfoAlert = page.getByTestId('invitation-email-info-alert'); } seed(seed) { diff --git a/packages/e2e-tests/tests/admin/manage-roles.spec.js b/packages/e2e-tests/tests/admin/manage-roles.spec.js index c823645b..ac67cb7d 100644 --- a/packages/e2e-tests/tests/admin/manage-roles.spec.js +++ b/packages/e2e-tests/tests/admin/manage-roles.spec.js @@ -190,13 +190,15 @@ test.describe('Role management page', () => { await adminCreateUserPage.emailInput.fill( 'user-role-test@automatisch.io' ); - await adminCreateUserPage.passwordInput.fill('sample'); await adminCreateUserPage.roleInput.click(); await adminCreateUserPage.page .getByRole('option', { name: 'Delete Role', exact: true }) .click(); await adminCreateUserPage.createButton.click(); - await adminUsersPage.snackbar.waitFor({ + await adminCreateUserPage.snackbar.waitFor({ + state: 'attached', + }); + await adminCreateUserPage.invitationEmailInfoAlert.waitFor({ state: 'attached', }); const snackbar = await adminUsersPage.getSnackbarData( @@ -292,7 +294,6 @@ test.describe('Role management page', () => { await adminCreateUserPage.emailInput.fill( 'user-delete-role-test@automatisch.io' ); - await adminCreateUserPage.passwordInput.fill('sample'); await adminCreateUserPage.roleInput.click(); await adminCreateUserPage.page .getByRole('option', { name: 'Cannot Delete Role' }) @@ -301,6 +302,9 @@ test.describe('Role management page', () => { await adminCreateUserPage.snackbar.waitFor({ state: 'attached', }); + await adminCreateUserPage.invitationEmailInfoAlert.waitFor({ + state: 'attached', + }); const snackbar = await adminCreateUserPage.getSnackbarData( 'snackbar-create-user-success' ); @@ -333,7 +337,7 @@ test.describe('Role management page', () => { state: 'attached', }); /* - * TODO: await snackbar - make assertions based on product + * TODO: await snackbar - make assertions based on product * decisions const snackbar = await adminRolesPage.getSnackbarData(); await expect(snackbar.variant).toBe('...'); @@ -374,7 +378,6 @@ test('Accessibility of role management page', async ({ await adminCreateUserPage.isMounted(); await adminCreateUserPage.fullNameInput.fill('Role Test'); await adminCreateUserPage.emailInput.fill('basic-role-test@automatisch.io'); - await adminCreateUserPage.passwordInput.fill('sample'); await adminCreateUserPage.roleInput.click(); await adminCreateUserPage.page .getByRole('option', { name: 'Basic Test' }) @@ -383,6 +386,9 @@ test('Accessibility of role management page', async ({ await adminCreateUserPage.snackbar.waitFor({ state: 'attached', }); + await adminCreateUserPage.invitationEmailInfoAlert.waitFor({ + state: 'attached', + }); const snackbar = await adminCreateUserPage.getSnackbarData( 'snackbar-create-user-success' ); diff --git a/packages/e2e-tests/tests/admin/manage-users.spec.js b/packages/e2e-tests/tests/admin/manage-users.spec.js index 7e6dab7d..56206aef 100644 --- a/packages/e2e-tests/tests/admin/manage-users.spec.js +++ b/packages/e2e-tests/tests/admin/manage-users.spec.js @@ -29,12 +29,15 @@ test.describe('User management page', () => { await adminUsersPage.createUserButton.click(); await adminCreateUserPage.fullNameInput.fill(user.fullName); await adminCreateUserPage.emailInput.fill(user.email); - await adminCreateUserPage.passwordInput.fill(user.password); await adminCreateUserPage.roleInput.click(); await adminCreateUserPage.page.getByRole( 'option', { name: 'Admin' } ).click(); await adminCreateUserPage.createButton.click(); + await adminCreateUserPage.invitationEmailInfoAlert.waitFor({ + state: 'attached' + }); + const snackbar = await adminUsersPage.getSnackbarData( 'snackbar-create-user-success' ); @@ -57,7 +60,7 @@ test.describe('User management page', () => { 'Edit user info and make sure the edit works correctly', async () => { await adminUsersPage.findUserPageWithEmail(user.email); - + let userRow = await adminUsersPage.getUserRowByEmail(user.email); await adminUsersPage.clickEditUser(userRow); await adminEditUserPage.waitForLoad(user.fullName); @@ -85,7 +88,7 @@ test.describe('User management page', () => { await adminUsersPage.clickDeleteUser(userRow); const modal = adminUsersPage.deleteUserModal; await modal.deleteButton.click(); - + const snackbar = await adminUsersPage.getSnackbarData( 'snackbar-delete-user-success' ); @@ -108,7 +111,6 @@ test.describe('User management page', () => { await adminUsersPage.createUserButton.click(); await adminCreateUserPage.fullNameInput.fill(testUser.fullName); await adminCreateUserPage.emailInput.fill(testUser.email); - await adminCreateUserPage.passwordInput.fill(testUser.password); await adminCreateUserPage.roleInput.click(); await adminCreateUserPage.page.getByRole( 'option', { name: 'Admin' } @@ -179,7 +181,6 @@ test.describe('User management page', () => { await adminUsersPage.createUserButton.click(); await adminCreateUserPage.fullNameInput.fill(testUser.fullName); await adminCreateUserPage.emailInput.fill(testUser.email); - await adminCreateUserPage.passwordInput.fill(testUser.password); await adminCreateUserPage.roleInput.click(); await adminCreateUserPage.page.getByRole( 'option', { name: 'Admin' } @@ -206,7 +207,7 @@ test.describe('User management page', () => { 'option', { name: 'Admin' } ).click(); await adminCreateUserPage.createButton.click(); - + await expect(page.url()).toBe(createUserPageUrl); const snackbar = await adminUsersPage.getSnackbarData('snackbar-error'); await expect(snackbar.variant).toBe('error'); @@ -230,7 +231,6 @@ test.describe('User management page', () => { await adminUsersPage.createUserButton.click(); await adminCreateUserPage.fullNameInput.fill(user1.fullName); await adminCreateUserPage.emailInput.fill(user1.email); - await adminCreateUserPage.passwordInput.fill(user1.password); await adminCreateUserPage.roleInput.click(); await adminCreateUserPage.page.getByRole( 'option', { name: 'Admin' } @@ -285,4 +285,4 @@ test.describe('User management page', () => { ); } ); -}); \ No newline at end of file +}); diff --git a/packages/web/src/pages/CreateUser/index.jsx b/packages/web/src/pages/CreateUser/index.jsx index b547e451..890f4be2 100644 --- a/packages/web/src/pages/CreateUser/index.jsx +++ b/packages/web/src/pages/CreateUser/index.jsx @@ -15,7 +15,6 @@ import ControlledAutocomplete from 'components/ControlledAutocomplete'; import Form from 'components/Form'; import PageTitle from 'components/PageTitle'; import TextField from 'components/TextField'; -import * as URLS from 'config/urls'; import { CREATE_USER } from 'graphql/mutations/create-user.ee'; import useFormatMessage from 'hooks/useFormatMessage'; import useRoles from 'hooks/useRoles.ee'; @@ -25,7 +24,6 @@ function generateRoleOptions(roles) { } export default function CreateUser() { - const navigate = useNavigate(); const formatMessage = useFormatMessage(); const [createUser, { loading, data }] = useMutation(CREATE_USER); const { data: rolesData, loading: isRolesLoading } = useRoles(); @@ -120,6 +118,7 @@ export default function CreateUser() { severity="info" color="primary" sx={{ fontWeight: '500' }} + data-test="invitation-email-info-alert" > {formatMessage('createUser.invitationEmailInfo', { link: () => (