Skip to content
Snippets Groups Projects
Commit 6cd4691d authored by Cord Westhoff's avatar Cord Westhoff
Browse files

refactored creation of Admin user

parent b0413b00
Branches
Tags
2 merge requests!44E2E updates,!41Ozg 7472 administration oe zu benutzer hinzufuegen
......@@ -23,6 +23,7 @@
*/
import 'cypress-real-events';
import { exist } from '../../support/cypress.util';
import { AdminUserE2E } from '../../model/util';
export class BenutzerE2EComponent {
private readonly benutzerHinzufuegenButton: string = 'Add-user-button';
......@@ -42,10 +43,23 @@ export class BenutzerE2EComponent {
return cy.getTestElement(this.benutzerHinzufuegenButton);
}
public addUser(): void {
public clickAddUser(): void {
this.getHinzufuegenButton().click();
}
public addUser(user: AdminUserE2E): void {
this.enterVorname(user.vorname);
this.enterNachname(user.nachname);
this.enterBenutzername(user.benutzername);
this.enterMail(user.email);
if (user.isAdmin) {this.clickAdminCheckbox();}
if (user.isUser) {this.clickUserCheckbox();}
if (user.isLoeschen) {this.clickLoeschenCheckbox();}
if (user.isPoststelle) {this.clickPostCheckbox();}
this.saveUser();
}
public getUserEntry(user: string): Cypress.Chainable<Element> {
user = this.userEntry + user;
return cy.getTestElement(user);
......
......@@ -5,7 +5,8 @@ import { beChecked, beEnabled, contains, exist, notBeChecked, notBeEnabled } fro
import { AlfaRollen, AlfaUsers, loginAsAriane } from '../../../support/user-util';
import { SnackBarE2EComponent } from '../../../components/ui/snackbar.e2e.component';
import { SnackbarMessagesE2E } from '../../../model/util';
import { getCypressEnv, wait, waitOfInterceptor } from 'apps/admin-e2e/src/support/cypress-helper';
import { getCypressEnv, interceptWithResponse, wait, waitOfInterceptor } from 'apps/admin-e2e/src/support/cypress-helper';
import { AdminUserE2E, HttpMethodE2E } from '../../../model/util';
const mainPage: MainPage = new MainPage();
const benutzerPage: BenutzerE2EComponent = new BenutzerE2EComponent();
......@@ -16,6 +17,15 @@ const nachname: string = 'Testuser';
const benutzername: string = 'testtheo';
const emailAddress: string = 'theo.test@ozg-sh.de';
const newUser: AdminUserE2E = {
vorname: 'Theo',
nachname: 'Testuser',
benutzername: 'testtheo',
email: 'theo.test@ozg-sh.de',
isAdmin: true,
isUser: true,
}
describe('Benutzer anlegen', () => {
before(() => {
loginAsAriane();
......@@ -33,16 +43,11 @@ describe('Benutzer anlegen', () => {
const errorCode: number = 500;
const errorBody: string = 'Internal Server Error';
cy.intercept('POST', url, {statusCode: errorCode, body: errorBody}).as(interceptor)
interceptWithResponse(HttpMethodE2E.POST, url, { errorCode, errorBody }).as(interceptor);
cy.intercept('POST', url).as(interceptor)
benutzerPage.addUser();
benutzerPage.enterVorname(vorname);
benutzerPage.enterNachname(nachname);
benutzerPage.enterBenutzername(benutzername);
benutzerPage.enterMail(emailAddress);
benutzerPage.clickAdminCheckbox();
benutzerPage.clickUserCheckbox();
benutzerPage.saveUser();
benutzerPage.clickAddUser();
benutzerPage.addUser(newUser);
waitOfInterceptor(interceptor).then(() => {
contains(snackBar.getMessage(), SnackbarMessagesE2E.NUTZER_FEHLGESCHLAGEN);
......
......@@ -59,7 +59,7 @@ describe('Benutzer und Rollen', () => {
});
it('should show single user screen on click', () => {
benutzerPage.addUser();
benutzerPage.clickAddUser();
exist(benutzerPage.getVornameInput());
exist(benutzerPage.getNachnameInput());
......
......@@ -29,3 +29,22 @@ export enum SnackbarMessagesE2E {
NUTZER_ANGELEGT = 'Der Benutzer wurde hinzugefügt.',
NUTZER_FEHLGESCHLAGEN = 'Der Benutzer konnte nicht hinzugefügt werden.'
}
export enum HttpMethodE2E {
POST = 'POST',
PUT = 'PUT',
PATCH = 'PATCH',
DELETE = 'DELETE',
GET = 'GET',
}
export interface AdminUserE2E {
vorname: string;
nachname: string;
benutzername: string;
email: string;
isAdmin?: boolean;
isUser?: boolean;
isLoeschen?: boolean;
isPoststelle?: boolean;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment