From f68ae96dbd7717782a2d7139f1d01f61f6bb4ff7 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Mon, 18 Nov 2024 16:32:59 +0100 Subject: [PATCH] E2E improve user init sync --- .../src/e2e/main-tests/init-users.cy.ts | 52 ++++++++++++------- .../apps/alfa-e2e/src/support/user-util.ts | 5 ++ 2 files changed, 39 insertions(+), 18 deletions(-) diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/init-users.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/init-users.cy.ts index e8fb840ed9..1f485f81a3 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/init-users.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/init-users.cy.ts @@ -5,7 +5,7 @@ import { HeaderE2EComponent } from '../../page-objects/header.po'; import { MainPage, waitForSpinnerToDisappear } from '../../page-objects/main.po'; import { login, writeUserIdsIntoFile } from '../../support/cypress-helper'; import { exist } from '../../support/cypress.util'; -import { DatabaseUser } from '../../support/user-util'; +import { areUsersSynced, DatabaseUser } from '../../support/user-util'; registerLocaleData(localeDe, 'de', localeDeExtra); @@ -13,26 +13,42 @@ describe('Init users', () => { const mainPage: MainPage = new MainPage(); const header: HeaderE2EComponent = mainPage.getHeader(); - it('should login and logout all users', () => { - [ - DatabaseUser.SABINE, - DatabaseUser.DOROTHEA, - DatabaseUser.PETER, - DatabaseUser.EMIL, - DatabaseUser.ADELHEIT, - DatabaseUser.LUDWIG, - DatabaseUser.RICHARD, - DatabaseUser.ZONK, - ].forEach(syncUser); + it('should login sabine', () => { + syncUser(DatabaseUser.SABINE); + }); + + it('should login dorothea', () => { + syncUser(DatabaseUser.DOROTHEA); + }); + it('should login peter', () => { + syncUser(DatabaseUser.PETER); + }); + it('should login emil', () => { + syncUser(DatabaseUser.EMIL); + }); + it('should login adelheit', () => { + syncUser(DatabaseUser.ADELHEIT); + }); + it('should login ludwig', () => { + syncUser(DatabaseUser.LUDWIG); + }); + it('should login richard', () => { + syncUser(DatabaseUser.RICHARD); + }); - writeUserIdsIntoFile(); + it('should write user ids to file', () => { + if (!areUsersSynced()) { + writeUserIdsIntoFile(); + } }); function syncUser(user: DatabaseUser) { - login(user); - waitForSpinnerToDisappear(); - exist(header.getLogo()); - header.getCurrentUserProfile().getUserIconButton().click(); - header.getCurrentUserProfile().getLogoutButton().click(); + if (!areUsersSynced()) { + login(user); + waitForSpinnerToDisappear(); + exist(header.getLogo()); + header.getCurrentUserProfile().getUserIconButton().click(); + header.getCurrentUserProfile().getLogoutButton().click(); + } } }); diff --git a/alfa-client/apps/alfa-e2e/src/support/user-util.ts b/alfa-client/apps/alfa-e2e/src/support/user-util.ts index 23cc3a4a8f..4abfd9ad6e 100644 --- a/alfa-client/apps/alfa-e2e/src/support/user-util.ts +++ b/alfa-client/apps/alfa-e2e/src/support/user-util.ts @@ -21,6 +21,7 @@ * Die sprachspezifischen Genehmigungen und Beschränkungen * unter der Lizenz sind dem Lizenztext zu entnehmen. */ +import { isNotEmpty } from '@alfa-client/tech-shared'; import { isEmpty } from 'lodash-es'; import { UserE2E } from '../model/user'; import { UsermanagerUserE2E } from '../model/usermanager'; @@ -51,6 +52,10 @@ export function getUserId(username: Username) { return userIds[username]; } +export function areUsersSynced(): boolean { + return isNotEmpty(userIds); +} + export function initUsermanagerUsers() { // initUsermanagerData([ // getUserManagerUserSabine(), -- GitLab