Skip to content
Snippets Groups Projects
Commit fd22559e authored by Martin's avatar Martin
Browse files

OZG-7620 improve test code; rename

parent ce02ac86
No related branches found
No related tags found
1 merge request!83Ozg 7620 add e2 e test
...@@ -24,17 +24,18 @@ ...@@ -24,17 +24,18 @@
import 'cypress-real-events'; import 'cypress-real-events';
import { convertToDataTestId } from '../../support/tech-util'; import { convertToDataTestId } from '../../support/tech-util';
//TODO BenutzerListPage erstellen welche den Button und die Liste enthaelt.
export class BenutzerListE2EComponent { export class BenutzerListE2EComponent {
private readonly headline: string = 'user-list-headline'; 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'; private readonly benutzerHinzufuegenButton: string = 'add-user-button';
public getHeadline(): Cypress.Chainable<Element> { public getHeadline(): Cypress.Chainable<Element> {
return cy.getTestElement(this.headline); return cy.getTestElement(this.headline);
} }
public getRoot(): Cypress.Chainable<Element> { public getList(): Cypress.Chainable<Element> {
return cy.getTestElement(this.root); return cy.getTestElement(this.list);
} }
public getHinzufuegenButton(): Cypress.Chainable<Element> { public getHinzufuegenButton(): Cypress.Chainable<Element> {
......
import { faker } from '@faker-js/faker';
import { E2EBenutzerHelper } from 'apps/admin-e2e/src/helper/benutzer/benutzer.helper'; import { E2EBenutzerHelper } from 'apps/admin-e2e/src/helper/benutzer/benutzer.helper';
import { E2EBenutzerVerifier } from 'apps/admin-e2e/src/helper/benutzer/benutzer.verifier'; import { E2EBenutzerVerifier } from 'apps/admin-e2e/src/helper/benutzer/benutzer.verifier';
import { AdminUserE2E } from 'apps/admin-e2e/src/model/util'; import { AdminUserE2E } from 'apps/admin-e2e/src/model/util';
...@@ -7,14 +8,12 @@ describe('Benutzer Löschen', () => { ...@@ -7,14 +8,12 @@ describe('Benutzer Löschen', () => {
const benutzerVerifier: E2EBenutzerVerifier = new E2EBenutzerVerifier(); const benutzerVerifier: E2EBenutzerVerifier = new E2EBenutzerVerifier();
const benutzerHelper: E2EBenutzerHelper = new E2EBenutzerHelper(); const benutzerHelper: E2EBenutzerHelper = new E2EBenutzerHelper();
const now1 = new Date(); const userName: string = 'testtheo' + faker.string.uuid();
const userName: string = 'testtheo' + now1.getSeconds().toString() + now1.getMilliseconds().toString();
const emailAddress: string = 'theo' + now1.getSeconds().toString() + now1.getMilliseconds().toString() + '@ozg-sh.de';
const user: AdminUserE2E = { const user: AdminUserE2E = {
vorname: 'Theo', vorname: 'Theo',
nachname: 'Testuser', nachname: 'Testuser',
username: userName, username: userName,
email: emailAddress, email: 'theo' + faker.string.uuid() + '@ozg-sh.de',
isUser: true, isUser: true,
organisationseinheiten: [], organisationseinheiten: [],
}; };
......
...@@ -45,7 +45,7 @@ export class E2EBenutzerExecutor { ...@@ -45,7 +45,7 @@ export class E2EBenutzerExecutor {
exist(this.snackBar.getMessage()); exist(this.snackBar.getMessage());
this.snackBar.getCloseButton().click(); this.snackBar.getCloseButton().click();
notExist(this.snackBar.getMessage()); notExist(this.snackBar.getMessage());
exist(this.benutzerListPage.getRoot()); exist(this.benutzerListPage.getList());
} }
public saveBenutzer(): void { public saveBenutzer(): void {
...@@ -56,6 +56,6 @@ export class E2EBenutzerExecutor { ...@@ -56,6 +56,6 @@ export class E2EBenutzerExecutor {
this.benutzerPage.getDeleteButton().click(); this.benutzerPage.getDeleteButton().click();
exist(this.benutzerDeleteDialog.getDeleteButton()); exist(this.benutzerDeleteDialog.getDeleteButton());
this.benutzerDeleteDialog.getDeleteButton().click(); this.benutzerDeleteDialog.getDeleteButton().click();
exist(this.benutzerListPage.getRoot()); exist(this.benutzerListPage.getList());
} }
} }
...@@ -49,15 +49,16 @@ describe('KeycloakResourceService', () => { ...@@ -49,15 +49,16 @@ describe('KeycloakResourceService', () => {
}); });
describe('getAll', () => { describe('getAll', () => {
const stateResource: StateResource<unknown> = createStateResource([]);
beforeEach(() => { beforeEach(() => {
service.handleChanges = jest.fn().mockReturnValue(of(createStateResource([]))); service.handleChanges = jest.fn().mockReturnValue(singleCold(stateResource));
}); });
it('should return stateResource as observable', (done) => { it('should return stateResource', () => {
service.getAll().subscribe((stateResource: StateResource<[]>) => { const stateResource$: Observable<StateResource<unknown[]>> = service.getAll();
expect(stateResource).toEqual(createStateResource([]));
done(); expect(stateResource$).toBeObservable(singleCold(stateResource));
});
}); });
it('should call handleChanges ', fakeAsync(() => { it('should call handleChanges ', fakeAsync(() => {
...@@ -80,7 +81,7 @@ describe('KeycloakResourceService', () => { ...@@ -80,7 +81,7 @@ describe('KeycloakResourceService', () => {
expect(doIfLoadingRequiredSpy).toHaveBeenCalled(); expect(doIfLoadingRequiredSpy).toHaveBeenCalled();
}); });
it('should return stateResource as observable', (done) => { it('should return stateResource', (done) => {
service.stateResource.next(createStateResource([])); service.stateResource.next(createStateResource([]));
service.handleChanges(emptyStateResource).subscribe((stateResource: StateResource<[]>) => { service.handleChanges(emptyStateResource).subscribe((stateResource: StateResource<[]>) => {
......
...@@ -26,7 +26,12 @@ import { ROUTES } from '@admin-client/shared'; ...@@ -26,7 +26,12 @@ import { ROUTES } from '@admin-client/shared';
import { User, UserService } from '@admin-client/user-shared'; import { User, UserService } from '@admin-client/user-shared';
import { PatchConfig } from '@admin/keycloak-shared'; import { PatchConfig } from '@admin/keycloak-shared';
import { NavigationService } from '@alfa-client/navigation-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 { Mock, mock, mockWindowError } from '@alfa-client/test-utils';
import { SnackBarService } from '@alfa-client/ui'; import { SnackBarService } from '@alfa-client/ui';
import { fakeAsync, TestBed, tick } from '@angular/core/testing'; import { fakeAsync, TestBed, tick } from '@angular/core/testing';
...@@ -195,7 +200,7 @@ describe('UserFormService', () => { ...@@ -195,7 +200,7 @@ describe('UserFormService', () => {
}); });
it('should not throw any exception on loading state resource', () => { 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(); const errorMock: any = mockWindowError();
formService._initOrganisationsEinheiten(); formService._initOrganisationsEinheiten();
......
...@@ -38,8 +38,10 @@ describe('UsersListComponent', () => { ...@@ -38,8 +38,10 @@ describe('UsersListComponent', () => {
beforeEach(async () => { beforeEach(async () => {
await TestBed.configureTestingModule({ await TestBed.configureTestingModule({
imports: [UserListComponent], imports: [
declarations: [MockComponent(RoutingButtonComponent), MockComponent(UserComponent), MockComponent(SpinnerComponent)], UserListComponent,
[MockComponent(RoutingButtonComponent), MockComponent(UserComponent), MockComponent(SpinnerComponent)],
],
}).compileComponents(); }).compileComponents();
fixture = TestBed.createComponent(UserListComponent); fixture = TestBed.createComponent(UserListComponent);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment