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 e8fb840ed98a8468a0a24beeb900426f62ecda0e..1f485f81a3364112129c6a35d4168d022ed5d795 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 23cc3a4a8f5a9e853f832a6d4c9987669f7cb599..4abfd9ad6eaed01c439575dec62211867312bcf6 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(),