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

OZG-7620 create benutzer loeschen e2e test

parent 6916af39
No related branches found
No related tags found
1 merge request!83Ozg 7620 add e2 e test
......@@ -26,12 +26,17 @@ import { convertToDataTestId } from '../../support/tech-util';
export class BenutzerListE2EComponent {
private readonly headline: string = 'user-list-headline';
private readonly root: 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 getHinzufuegenButton(): Cypress.Chainable<Element> {
return cy.getTestElement(this.benutzerHinzufuegenButton);
}
......@@ -98,10 +103,16 @@ export class BenutzerE2EComponent {
private readonly loeschenCheckbox: string = 'Loschen-checkbox-editor';
private readonly userCheckbox: string = 'User-checkbox-editor';
private readonly postCheckbox: string = 'Poststelle-checkbox-editor';
private readonly datenbeauftragungCheckbox: string = 'Datenbeauftragung-checkbox-editor';
private readonly organisationsEinheitCheckboxSuffix: string = '-checkbox-editor';
private readonly saveButton: string = 'save-button';
private readonly deleteButton: string = 'delete-button';
public getHeadline(): Cypress.Chainable<Element> {
return cy.getTestElement(this.headline);
}
public getVornameInput(): Cypress.Chainable<Element> {
return cy.getTestElement(this.userVorname);
......@@ -135,15 +146,32 @@ export class BenutzerE2EComponent {
return cy.getTestElement(this.postCheckbox);
}
public getSaveButton(): Cypress.Chainable<Element> {
return cy.getTestElement(this.saveButton);
public getDatenbeauftragungCheckbox(): Cypress.Chainable<Element> {
return cy.getTestElement(this.datenbeauftragungCheckbox);
}
public getOrganisationsEinheitCheckbox(einheit: string): Cypress.Chainable<Element> {
return cy.getTestElement(einheit + this.organisationsEinheitCheckboxSuffix);
}
public getHeadline(): Cypress.Chainable<Element> {
return cy.getTestElement(this.headline);
public getSaveButton(): Cypress.Chainable<Element> {
return cy.getTestElement(this.saveButton);
}
public getDeleteButton(): Cypress.Chainable<Element> {
return cy.getTestElement(this.deleteButton);
}
}
export class BenutzerDeleteDialogE2EComponent {
private readonly deleteButton: string = 'dialog-delete';
private readonly cancelButton: string = 'cancel-dialog';
public getCancelButton(): Cypress.Chainable<Element> {
return cy.getTestElement(this.cancelButton);
}
public getDeleteButton(): Cypress.Chainable<Element> {
return cy.getTestElement(this.deleteButton);
}
}
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';
import { loginAsAriane } from 'apps/admin-e2e/src/support/user-util';
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 user: AdminUserE2E = {
vorname: 'Theo',
nachname: 'Testuser',
username: userName,
email: emailAddress,
isUser: true,
organisationseinheiten: [],
};
before(() => {
loginAsAriane();
});
it('should delete user', () => {
benutzerHelper.openNewBenutzerPage();
benutzerHelper.addBenutzerAndSave(user);
benutzerHelper.deleteBenutzer(userName);
benutzerVerifier.verifyUserNotInList(userName);
});
});
import { BenutzerE2EComponent } from '../../components/benutzer/benutzer.e2e.component';
import {
BenutzerDeleteDialogE2EComponent,
BenutzerE2EComponent,
BenutzerListE2EComponent,
} from '../../components/benutzer/benutzer.e2e.component';
import { SnackBarE2EComponent } from '../../components/ui/snackbar.e2e.component';
import { OrganisationsEinheitE2E } from '../../model/organisations-einheit';
import { AdminUserE2E } from '../../model/util';
......@@ -7,6 +11,8 @@ import { exist, notExist } from '../../support/cypress.util';
export class E2EBenutzerExecutor {
private benutzerPage: BenutzerE2EComponent = new BenutzerE2EComponent();
private snackBar: SnackBarE2EComponent = new SnackBarE2EComponent();
private benutzerDeleteDialog: BenutzerDeleteDialogE2EComponent = new BenutzerDeleteDialogE2EComponent();
private benutzerListPage: BenutzerListE2EComponent = new BenutzerListE2EComponent();
public modifyBenutzer(user: AdminUserE2E): void {
this.benutzerPage.getVornameInput().type(user.vorname);
......@@ -39,9 +45,17 @@ export class E2EBenutzerExecutor {
exist(this.snackBar.getMessage());
this.snackBar.getCloseButton().click();
notExist(this.snackBar.getMessage());
exist(this.benutzerListPage.getRoot());
}
public saveBenutzer(): void {
this.benutzerPage.getSaveButton().click();
}
public deleteBenutzer(): void {
this.benutzerPage.getDeleteButton().click();
exist(this.benutzerDeleteDialog.getDeleteButton());
this.benutzerDeleteDialog.getDeleteButton().click();
exist(this.benutzerListPage.getRoot());
}
}
......@@ -17,32 +17,45 @@ export class E2EBenutzerHelper {
public addBenutzerAndSave(user: AdminUserE2E): void {
this.addBenutzer(user);
this.executer.saveAndCloseSnackbar();
this.saveAndCloseSnackbar();
}
public addBenutzer(user: AdminUserE2E): void {
this.executer.modifyBenutzer(user);
}
public openBenutzerPage(userName: string): void {
this.navigator.openBenutzerPage(userName);
this.modifyBenutzer(user);
}
public editBenutzerAndSave(user: AdminUserE2E): void {
this.editBenutzer(user);
this.executer.saveAndCloseSnackbar();
this.saveAndCloseSnackbar();
}
public editBenutzer(user: AdminUserE2E): void {
this.modifyBenutzer(user);
}
private modifyBenutzer(user: AdminUserE2E): void {
this.executer.modifyBenutzer(user);
}
public editOrganisationsEinheitenAndSave(organisationsEinheiten: OrganisationsEinheitE2E[]): void {
this.executer.modifyOrganisationsEinheiten(organisationsEinheiten);
this.saveAndCloseSnackbar();
}
private saveAndCloseSnackbar(): void {
this.executer.saveAndCloseSnackbar();
}
public saveBenutzer(): void {
this.executer.saveBenutzer();
}
public deleteBenutzer(userName: string): void {
this.openBenutzerPage(userName);
this.executer.deleteBenutzer();
}
public openBenutzerPage(userName: string): void {
this.navigator.openBenutzerPage(userName);
}
}
......@@ -4,7 +4,7 @@ import {
BenutzerListItemE2EComponent,
} from '../../components/benutzer/benutzer.e2e.component';
import { AdminUserE2E } from '../../model/util';
import { contains, exist } from '../../support/cypress.util';
import { contains, exist, notExist } from '../../support/cypress.util';
import { AlfaRollen } from '../../support/user-util';
export class E2EBenutzerVerifier {
......@@ -41,6 +41,10 @@ export class E2EBenutzerVerifier {
if (user.isAdmin) contains(benutzer.getRoles(), AlfaRollen.ADMIN);
}
public verifyUserNotInList(userName: string): void {
notExist(this.getBenutzerItem(userName).getRoot());
}
private getBenutzerItem(userName: string): BenutzerListItemE2EComponent {
return this.benutzerListPage.getItem(userName);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment