diff --git a/alfa-client/apps/admin-e2e/src/components/benutzer/benutzer.e2e.component.ts b/alfa-client/apps/admin-e2e/src/components/benutzer/benutzer.e2e.component.ts index c8cf3fc22c09142dd1e042d14bbc5de485a9a724..12140f8351c958ba5388638076727ef41bee5053 100644 --- a/alfa-client/apps/admin-e2e/src/components/benutzer/benutzer.e2e.component.ts +++ b/alfa-client/apps/admin-e2e/src/components/benutzer/benutzer.e2e.component.ts @@ -24,17 +24,18 @@ import 'cypress-real-events'; import { convertToDataTestId } from '../../support/tech-util'; +//TODO BenutzerListPage erstellen welche den Button und die Liste enthaelt. export class BenutzerListE2EComponent { private readonly headline: string = 'user-list-headline'; - private readonly root: string = 'user-list'; + private readonly list: string = 'user-list'; private readonly benutzerHinzufuegenButton: string = 'add-user-button'; public getHeadline(): Cypress.Chainable<Element> { return cy.getTestElement(this.headline); } - public getRoot(): Cypress.Chainable<Element> { - return cy.getTestElement(this.root); + public getList(): Cypress.Chainable<Element> { + return cy.getTestElement(this.list); } public getHinzufuegenButton(): Cypress.Chainable<Element> { diff --git a/alfa-client/apps/admin-e2e/src/e2e/main-tests/benutzer_rollen/benutzer-loesche.cy.ts b/alfa-client/apps/admin-e2e/src/e2e/main-tests/benutzer_rollen/benutzer-loesche.cy.ts index 11c46e22406a51ae6a9589cb8b8dbd4d7718a305..fd494a41834116ef96c2ed992e026fba95bb53ef 100644 --- a/alfa-client/apps/admin-e2e/src/e2e/main-tests/benutzer_rollen/benutzer-loesche.cy.ts +++ b/alfa-client/apps/admin-e2e/src/e2e/main-tests/benutzer_rollen/benutzer-loesche.cy.ts @@ -1,3 +1,4 @@ +import { faker } from '@faker-js/faker'; import { E2EBenutzerHelper } from 'apps/admin-e2e/src/helper/benutzer/benutzer.helper'; import { E2EBenutzerVerifier } from 'apps/admin-e2e/src/helper/benutzer/benutzer.verifier'; import { AdminUserE2E } from 'apps/admin-e2e/src/model/util'; @@ -7,14 +8,12 @@ describe('Benutzer Löschen', () => { const benutzerVerifier: E2EBenutzerVerifier = new E2EBenutzerVerifier(); const benutzerHelper: E2EBenutzerHelper = new E2EBenutzerHelper(); - const now1 = new Date(); - const userName: string = 'testtheo' + now1.getSeconds().toString() + now1.getMilliseconds().toString(); - const emailAddress: string = 'theo' + now1.getSeconds().toString() + now1.getMilliseconds().toString() + '@ozg-sh.de'; + const userName: string = 'testtheo' + faker.string.uuid(); const user: AdminUserE2E = { vorname: 'Theo', nachname: 'Testuser', username: userName, - email: emailAddress, + email: 'theo' + faker.string.uuid() + '@ozg-sh.de', isUser: true, organisationseinheiten: [], }; diff --git a/alfa-client/apps/admin-e2e/src/helper/benutzer/benutzer.executor.ts b/alfa-client/apps/admin-e2e/src/helper/benutzer/benutzer.executor.ts index 81edc9afc775fc7dc28717d12c283062d4c79284..320db78e13e0fee0cae8dad0cd94969ad7b0e2de 100644 --- a/alfa-client/apps/admin-e2e/src/helper/benutzer/benutzer.executor.ts +++ b/alfa-client/apps/admin-e2e/src/helper/benutzer/benutzer.executor.ts @@ -45,7 +45,7 @@ export class E2EBenutzerExecutor { exist(this.snackBar.getMessage()); this.snackBar.getCloseButton().click(); notExist(this.snackBar.getMessage()); - exist(this.benutzerListPage.getRoot()); + exist(this.benutzerListPage.getList()); } public saveBenutzer(): void { @@ -56,6 +56,6 @@ export class E2EBenutzerExecutor { this.benutzerPage.getDeleteButton().click(); exist(this.benutzerDeleteDialog.getDeleteButton()); this.benutzerDeleteDialog.getDeleteButton().click(); - exist(this.benutzerListPage.getRoot()); + exist(this.benutzerListPage.getList()); } } diff --git a/alfa-client/libs/admin/keycloak-shared/src/lib/keycloak.resource.service.spec.ts b/alfa-client/libs/admin/keycloak-shared/src/lib/keycloak.resource.service.spec.ts index 58e7652774144e7b863f19c581ef91b4befd8d4a..5a91a0813ffbe8dec5a89c9f526382168481bdcd 100644 --- a/alfa-client/libs/admin/keycloak-shared/src/lib/keycloak.resource.service.spec.ts +++ b/alfa-client/libs/admin/keycloak-shared/src/lib/keycloak.resource.service.spec.ts @@ -49,15 +49,16 @@ describe('KeycloakResourceService', () => { }); describe('getAll', () => { + const stateResource: StateResource<unknown> = createStateResource([]); + beforeEach(() => { - service.handleChanges = jest.fn().mockReturnValue(of(createStateResource([]))); + service.handleChanges = jest.fn().mockReturnValue(singleCold(stateResource)); }); - it('should return stateResource as observable', (done) => { - service.getAll().subscribe((stateResource: StateResource<[]>) => { - expect(stateResource).toEqual(createStateResource([])); - done(); - }); + it('should return stateResource', () => { + const stateResource$: Observable<StateResource<unknown[]>> = service.getAll(); + + expect(stateResource$).toBeObservable(singleCold(stateResource)); }); it('should call handleChanges ', fakeAsync(() => { @@ -80,7 +81,7 @@ describe('KeycloakResourceService', () => { expect(doIfLoadingRequiredSpy).toHaveBeenCalled(); }); - it('should return stateResource as observable', (done) => { + it('should return stateResource', (done) => { service.stateResource.next(createStateResource([])); service.handleChanges(emptyStateResource).subscribe((stateResource: StateResource<[]>) => { diff --git a/alfa-client/libs/admin/user/src/lib/user-form/user.formservice.spec.ts b/alfa-client/libs/admin/user/src/lib/user-form/user.formservice.spec.ts index 2926d9a78456244a39d6e61f8fd4866b4b84bc84..724564f208c9f26cb6265da1bbad81b52ad92b13 100644 --- a/alfa-client/libs/admin/user/src/lib/user-form/user.formservice.spec.ts +++ b/alfa-client/libs/admin/user/src/lib/user-form/user.formservice.spec.ts @@ -26,7 +26,12 @@ import { ROUTES } from '@admin-client/shared'; import { User, UserService } from '@admin-client/user-shared'; import { PatchConfig } from '@admin/keycloak-shared'; import { NavigationService } from '@alfa-client/navigation-shared'; -import { createEmptyStateResource, createStateResource, StateResource } from '@alfa-client/tech-shared'; +import { + createEmptyStateResource, + createLoadingStateResource, + createStateResource, + StateResource, +} from '@alfa-client/tech-shared'; import { Mock, mock, mockWindowError } from '@alfa-client/test-utils'; import { SnackBarService } from '@alfa-client/ui'; import { fakeAsync, TestBed, tick } from '@angular/core/testing'; @@ -195,7 +200,7 @@ describe('UserFormService', () => { }); it('should not throw any exception on loading state resource', () => { - adminOrganisationsEinheitService.getAll.mockReturnValue(of(createEmptyStateResource(true))); + adminOrganisationsEinheitService.getAll.mockReturnValue(of(createLoadingStateResource())); const errorMock: any = mockWindowError(); formService._initOrganisationsEinheiten(); diff --git a/alfa-client/libs/admin/user/src/lib/user-list-container/user-list/user-list.component.spec.ts b/alfa-client/libs/admin/user/src/lib/user-list-container/user-list/user-list.component.spec.ts index c09f98b62c6f1303b6ec40d867c98d8976ef0c49..fe161b5c1fc09a5a9b2def8a5a500b261358a9fe 100644 --- a/alfa-client/libs/admin/user/src/lib/user-list-container/user-list/user-list.component.spec.ts +++ b/alfa-client/libs/admin/user/src/lib/user-list-container/user-list/user-list.component.spec.ts @@ -38,8 +38,10 @@ describe('UsersListComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - imports: [UserListComponent], - declarations: [MockComponent(RoutingButtonComponent), MockComponent(UserComponent), MockComponent(SpinnerComponent)], + imports: [ + UserListComponent, + [MockComponent(RoutingButtonComponent), MockComponent(UserComponent), MockComponent(SpinnerComponent)], + ], }).compileComponents(); fixture = TestBed.createComponent(UserListComponent);