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

OZG-6733 OZG-7482 add test steps

parent 23973fe9
No related branches found
No related tags found
1 merge request!17Ozg 6733 benutzerdaten speichern
...@@ -36,6 +36,7 @@ export class BenutzerE2EComponent { ...@@ -36,6 +36,7 @@ export class BenutzerE2EComponent {
private readonly loeschenCheckbox: string = 'Loschen-checkbox-editor'; private readonly loeschenCheckbox: string = 'Loschen-checkbox-editor';
private readonly userCheckbox: string = 'User-checkbox-editor'; private readonly userCheckbox: string = 'User-checkbox-editor';
private readonly postCheckbox: string = 'Poststelle-checkbox-editor'; private readonly postCheckbox: string = 'Poststelle-checkbox-editor';
private readonly saveButton: string = 'save-button';
public getHinzufuegenButton(): Cypress.Chainable<Element> { public getHinzufuegenButton(): Cypress.Chainable<Element> {
return cy.getTestElement(this.benutzerHinzufuegenButton); return cy.getTestElement(this.benutzerHinzufuegenButton);
...@@ -60,18 +61,34 @@ export class BenutzerE2EComponent { ...@@ -60,18 +61,34 @@ export class BenutzerE2EComponent {
return cy.getTestElement(this.userVorname); return cy.getTestElement(this.userVorname);
} }
public enterVorname(vorname: string): void {
this.getVornameInput().type(vorname);
}
public getNachnameInput(): Cypress.Chainable<Element> { public getNachnameInput(): Cypress.Chainable<Element> {
return cy.getTestElement(this.userNachname); return cy.getTestElement(this.userNachname);
} }
public enterNachname(nachname: string): void {
this.getNachnameInput().type(nachname);
}
public getBenutzernameInput(): Cypress.Chainable<Element> { public getBenutzernameInput(): Cypress.Chainable<Element> {
return cy.getTestElement(this.userBenutzername); return cy.getTestElement(this.userBenutzername);
} }
public enterBenutzername(benutzername: string): void {
this.getBenutzernameInput().type(benutzername);
}
public getMailInput(): Cypress.Chainable<Element> { public getMailInput(): Cypress.Chainable<Element> {
return cy.getTestElement(this.userMail); return cy.getTestElement(this.userMail);
} }
public enterMail(mail: string): void {
this.getMailInput().type(mail);
}
public getOEButton(): Cypress.Chainable<Element> { public getOEButton(): Cypress.Chainable<Element> {
return cy.getTestElement(this.addOEButton); return cy.getTestElement(this.addOEButton);
} }
...@@ -111,4 +128,12 @@ export class BenutzerE2EComponent { ...@@ -111,4 +128,12 @@ export class BenutzerE2EComponent {
public clickPostCheckbox(): void { public clickPostCheckbox(): void {
this.getPostCheckbox().click(); this.getPostCheckbox().click();
} }
public getSaveButton(): Cypress.Chainable<Element> {
return cy.getTestElement(this.saveButton);
}
public saveUser(): void {
this.getSaveButton().click();
}
} }
/*
* Copyright (C) 2023 Das Land Schleswig-Holstein vertreten durch den
* Ministerpräsidenten des Landes Schleswig-Holstein
* Staatskanzlei
* Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
*
* Lizenziert unter der EUPL, Version 1.2 oder - sobald
* diese von der Europäischen Kommission genehmigt wurden -
* Folgeversionen der EUPL ("Lizenz");
* Sie dürfen dieses Werk ausschließlich gemäß
* dieser Lizenz nutzen.
* Eine Kopie der Lizenz finden Sie hier:
*
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
*
* Sofern nicht durch anwendbare Rechtsvorschriften
* gefordert oder in schriftlicher Form vereinbart, wird
* die unter der Lizenz verbreitete Software "so wie sie
* ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
* ausdrücklich oder stillschweigend - verbreitet.
* Die sprachspezifischen Genehmigungen und Beschränkungen
* unter der Lizenz sind dem Lizenztext zu entnehmen.
*/
export class SnackBarE2EComponent {
private readonly locatorMessage: string = 'snackbar-message';
private readonly locatorCloseButton: string = 'snackbar-close-button';
private readonly locatorRevokeButton: string = 'snackbar-revoke-button';
public getMessage() {
return cy.getTestElement(this.locatorMessage);
}
public getCloseButton() {
return cy.getTestElement(this.locatorCloseButton);
}
public getRevokeButton() {
return cy.getTestElement(this.locatorRevokeButton);
}
}
import { MainPage } from 'apps/admin-e2e/src/page-objects/main.po'; import { MainPage } from 'apps/admin-e2e/src/page-objects/main.po';
import { BenutzerE2EComponent } from '../../../components/benutzer/benutzer.e2e.component'; import { BenutzerE2EComponent } from '../../../components/benutzer/benutzer.e2e.component';
import { beChecked, beEnabled, exist, notBeChecked, notBeEnabled } from '../../../support/cypress.util'; import { beChecked, beEnabled, contains, exist, notBeChecked, notBeEnabled } from '../../../support/cypress.util';
import { AlfaRollen, AlfaUsers, loginAsAriane } from '../../../support/user-util'; import { AlfaRollen, AlfaUsers, loginAsAriane } from '../../../support/user-util';
import { SnackBarE2EComponent } from '../../../components/ui/snackbar.e2e.component';
import { SnackbarMessagesE2E } from '../../../model/util';
import { wait } from 'apps/admin-e2e/src/support/cypress-helper';
const mainPage: MainPage = new MainPage(); const mainPage: MainPage = new MainPage();
const benutzerPage: BenutzerE2EComponent = new BenutzerE2EComponent(); const benutzerPage: BenutzerE2EComponent = new BenutzerE2EComponent();
const organistationsEinheitOrdnungsamt: string = 'Ordnungsamt'; const snackBar: SnackBarE2EComponent = new SnackBarE2EComponent();
const organisationsEinheitDenkmalpflege: string = 'Denkmalpflege';
const organisationsEinheitWirtschaftsfoerderung: string = 'Wirtschaftsförderung'; const vorname: string = 'Theo';
const organisationsEinheitNone: string = 'keine zuständige Stelle zugewiesen'; const nachname: string = 'Testuser';
const emailAddress: string = 'peter.von.der.post@ozg-sh.de'; const benutzername: string = 'testtheo';
const emailAddress: string = 'theo.test@ozg-sh.de';
describe('Benutzer anlegen', () => { describe('Benutzer anlegen', () => {
before(() => { before(() => {
...@@ -23,27 +27,33 @@ describe('Benutzer anlegen', () => { ...@@ -23,27 +27,33 @@ describe('Benutzer anlegen', () => {
exist(benutzerPage.getHinzufuegenButton()); exist(benutzerPage.getHinzufuegenButton());
}); });
it('should show users and attributes in table', () => { it.skip('should not do anything after click on save with missing data', () => {
benutzerPage.addUser();
benutzerPage.saveUser();
//TODO: Fehlermeldungen hinzufügen
}); });
it('should show single user screen on click', () => { it('should show snackbar message on error', () => {
benutzerPage.addUser();
}); //contains(snackBar.getMessage(), SnackbarMessagesE2E.NUTZER_FAILED);
it('should activate loeschen checkbox and deactivate the other two checkboxes', () => {
}); });
it('should additionally activate and deactivate admin checkbox', () => { it('should show snackbar message on saving user', () => {
benutzerPage.enterVorname(vorname);
benutzerPage.enterNachname(nachname);
benutzerPage.enterBenutzername(benutzername);
benutzerPage.enterMail(emailAddress);
benutzerPage.clickAdminCheckbox();
benutzerPage.clickUserCheckbox();
benutzerPage.saveUser();
contains(snackBar.getMessage(), SnackbarMessagesE2E.NUTZER_ANGELEGT);
}); });
it('should activate user checkbox and deactivate the other two checkboxes', () => { it('should display new user in users table', () => {
mainPage.clickBenutzerTab();
}); benutzerPage.stringExistsInUserEntry(AlfaRollen.USER, benutzername);
// FEHLT NOCH: benutzerPage.stringExistsInUserEntry(AlfaRollen.ADMIN, benutzername);
it('should activate post checkbox and deactivate the other two checkboxes', () => {
b
}); });
}); });
{ {
"name": "ariane", "name": "ariane",
"password": "Y9nk43yrQ_zzIPpfFU-I", "password_new": "Y9nk43yrQ_zzIPpfFU-I",
"password": "123Test!",
"firstName": "Ariane", "firstName": "Ariane",
"lastName": "Admin", "lastName": "Admin",
"fullName": "Ariane Admin", "fullName": "Ariane Admin",
......
...@@ -24,3 +24,8 @@ ...@@ -24,3 +24,8 @@
export class ObjectIdE2E { export class ObjectIdE2E {
$oid: string; $oid: string;
} }
export enum SnackbarMessagesE2E {
NUTZER_ANGELEGT = 'Der Benutzer wurde hinzugefügt.',
NUTZER_FEHLGESCHLAGEN = 'Der Benutzer konnte nicht hinzugefügt werden.'
}
...@@ -70,6 +70,7 @@ export enum AlfaRollen { ...@@ -70,6 +70,7 @@ export enum AlfaRollen {
USER = 'VERWALTUNG_USER', USER = 'VERWALTUNG_USER',
LOESCHEN = 'VERWALTUNG_LOESCHEN', LOESCHEN = 'VERWALTUNG_LOESCHEN',
POSTSTELLE = 'VERWALTUNG_POSTSTELLE', POSTSTELLE = 'VERWALTUNG_POSTSTELLE',
ADMIN = 'ADMIN_ADMIN'
} }
export enum AlfaUsers { export enum AlfaUsers {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment