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
No related branches found
No related tags found
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