Skip to content

Commit

Permalink
Spsh 930 eigenes profil anzeigen (#55)
Browse files Browse the repository at this point in the history
* Start branch

* Testfall als Landesadmin fertig

* 4 neue Testfälle Eigenes Profile anzeigen

* Hinweise für die Entwicklung

* Hinweise für die Entwicklung

* fixed profile view page and added test skeleton for multiple schulzuordnungen

* temporäres logging für die Entwicklung

* Test Profil fertig

* minor changes

* schedule(action) für test.dev gelöscht

* minor changes

---------

Co-authored-by: jakobmadp~ <[email protected]>
  • Loading branch information
jaggarnaut and jakobmadp authored Sep 16, 2024
1 parent a3e8618 commit a0ce3c5
Show file tree
Hide file tree
Showing 6 changed files with 540 additions and 84 deletions.
41 changes: 0 additions & 41 deletions .github/workflows/schedule_test.yml

This file was deleted.

23 changes: 23 additions & 0 deletions base/api/testHelperPerson.page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,29 @@ export async function createPersonWithUserContext(page: Page, organisationName:
return userInfo;
}

export async function addSecondOrganisationToPerson(page: Page, personId: string, organisationId1: string, organisationId2: string, rolleId: string) {
const response = await page.request.put(FRONTEND_URL + 'api/personenkontext-workflow/' + personId, {
data: {
"lastModified":"2034-09-11T08:28:36.590Z",
"count": 1,
"personenkontexte":
[
{
"personId": personId,
"organisationId": organisationId1,
"rolleId": rolleId
},
{
"personId": personId,
"organisationId": organisationId2,
"rolleId": rolleId
}
]
}
});
expect(response.status()).toBe(200);
}

export async function deletePersonen(page: Page, personId: string): Promise<void> {
const response = await page.request.delete(FRONTEND_URL + `api/personen/${personId}`, {});
expect(response.status()).toBe(204);
Expand Down
94 changes: 51 additions & 43 deletions docs/testcases.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,58 @@
# Testfälle(Testname)
## api-spec.ts

## Api.spec.ts
### GET und Post request Personen und Benutzer anschließend über das FE löschen @long @short @stage

## Klasse-spec.ts
## Eine Klasse als Landesadmin anlegen und die Klasse anschließend in der Ergebnisliste suchen und dann löschen @long @short @stage
## Ergebnisliste Klassen als Landesadmin auf Vollständigkeit prüfen @long @short @stage
## Eine Klasse als Landesadmin anlegen und die Bestätigungsseite vollständig prüfen @long @stage
## Klasse.spec.ts
### Eine Klasse als Landesadmin anlegen und die Klasse anschließend in der Ergebnisliste suchen und dann löschen @long @short @stage
### Ergebnisliste Klassen als Landesadmin auf Vollständigkeit prüfen @long @short @stage
### Eine Klasse als Landesadmin anlegen und die Bestätigungsseite vollständig prüfen @long @stage

## login-spec.ts
## Login.spec.ts
### Erfolgreicher Standard Login Landesadmin @long @stage @smoke
### Erfolgloser Login mit falschem Passwort und gültigem Benutzernamen in der Rolle Landesadmin @long @short @stage

## logoff-spec.ts
## Erfolgreicher Standard Logoff als Landesadmin @long @short @stage

## MenuBar-spec.ts
## Test der Hauptmenue-Leiste und Untermenues auf Vollständigkeit @long @short @stage
## Test der Funktion "Zurueck zur Startseite" @long @short @stage

## Person-spec.ts
## Einen Benutzer mit der Rolle Lehrkraft anlegen als Landesadmin und anschließend mit diesem Benutzer anmelden @long @short @stage
## Einen Benutzer mit der Rolle Landesadmin anlegen @long @stage
## Einen Benutzer mit der Rolle LiV anlegen als Landesadmin @long @stage
## Einen Benutzer mit der Rolle Schuladmin anlegen als Landesadmin @long @short @stage
## Einen Benutzer mit der Rolle SuS anlegen als Landesadmin @long @short @stage
## Ergebnisliste Benutzer auf Vollständigkeit prüfen als Landesadmin @long @short @stage
## Prüfung auf korrekte Rollen in dem Dropdown 'Rolle' nach Auswahl der Organisation bei Anlage eines Benutzer in der Rolle Landesadmin @long @short @stage
## In der Ergebnisliste die Suchfunktion ausführen als Landesadmin @long @short @stage
## Eine Lehrkraft anlegen in der Rolle Landesadmin und die Bestätigungsseite vollständig prüfen @long @short @stage
## Mehrere Benutzer hintereinander anlegen in der Rolle Landesadmin für die Rollenarten SuS und LEHR und die Bestätigungsseiten vollständig prüfen @long @stage

## Rolle-spec.ts
## 2 Rollen nacheinander anlegen mit Rollenarten LERN und LEHR als Landesadmin @long @short @stage
## Ergebnisliste Rollen auf Vollständigkeit prüfen als Landesadmin @long @short @stage
## Eine Rolle anlegen und die Bestätigungsseite vollständig prüfen als Landesadmin @long @short @stage

## Schule-spec.ts
## 2 Schulen nacheinander anlegen als Landesadmin @long
## Ergebnisliste Schulen auf Vollständigkeit prüfen als Landesadmin @long @short @stage
## Eine Schule anlegen als Schuladmin und die Bestätigungsseite vollständig prüfen @long @short

## SchulportalAdministration-spec.ts
## Prüfen, dass die Schulportal-Administration Kachel nicht sichtbar ist für Lehrkräfte @long @stage
## Prüfen, dass die Schulportal-Administration Kachel nicht sichtbar ist für Schüler @long @short @stage
## Prüfen, dass die Schulportal-Administration Kachel sichtbar ist für Schuladmins @long @stage

## workflow-spec.ts
## Angebote per Link öffnen als Landesadmin @long @short @stage
## Passwort Reset für einen Lehrer als Landesadmin @long @short @stage
## Logoff.spec.ts
### Erfolgreicher Standard Logoff als Landesadmin @long @short @stage

## MenuBar.spec.ts
### Test der Hauptmenue-Leiste und Untermenues auf Vollständigkeit @long @short @stage
### Test der Funktion "Zurueck zur Startseite" @long @short @stage

## Person.spec.ts
### Einen Benutzer mit der Rolle Lehrkraft anlegen als Landesadmin und anschließend mit diesem Benutzer anmelden @long @short @stage
### Einen Benutzer mit der Rolle Landesadmin anlegen @long @stage
### Einen Benutzer mit der Rolle LiV anlegen als Landesadmin @long @stage
### Einen Benutzer mit der Rolle Schuladmin anlegen als Landesadmin @long @short @stage
### Einen Benutzer mit der Rolle SuS anlegen als Landesadmin @long @short @stage
### Ergebnisliste Benutzer auf Vollständigkeit prüfen als Landesadmin @long @short @stage
### Prüfung auf korrekte Rollen in dem Dropdown 'Rolle' nach Auswahl der Organisation bei Anlage eines Benutzer in der Rolle Landesadmin @long @short @stage
### In der Ergebnisliste die Suchfunktion ausführen als Landesadmin @long @short @stage
### Eine Lehrkraft anlegen in der Rolle Landesadmin und die Bestätigungsseite vollständig prüfen @long @short @stage
### Mehrere Benutzer hintereinander anlegen in der Rolle Landesadmin für die Rollenarten SuS und LEHR und die Bestätigungsseiten vollständig prüfen @long @stage

## Rolle.spec.ts
### 2 Rollen nacheinander anlegen mit Rollenarten LERN und LEHR als Landesadmin @long @short @stage
### Ergebnisliste Rollen auf Vollständigkeit prüfen als Landesadmin @long @short @stage
### Eine Rolle anlegen und die Bestätigungsseite vollständig prüfen als Landesadmin @long @short @stage

## Schule.spec.ts
### 2 Schulen nacheinander anlegen als Landesadmin @long
### Ergebnisliste Schulen auf Vollständigkeit prüfen als Landesadmin @long @short @stage
### Eine Schule anlegen als Schuladmin und die Bestätigungsseite vollständig prüfen @long @short

## SchulportalAdministration.spec.ts
### Prüfen, dass die Schulportal-Administration Kachel nicht sichtbar ist für Lehrkräfte @long @stage
### Prüfen, dass die Schulportal-Administration Kachel nicht sichtbar ist für Schüler @long @short @stage
### Prüfen, dass die Schulportal-Administration Kachel sichtbar ist für Schuladmins @long @stage

## Workflow.spec.ts
### Angebote per Link öffnen als Landesadmin @long @short @stage
### Passwort Reset für einen Lehrer als Landesadmin @long @short @stage

## Profile.spec.ts
### Das eigene Profil öffnen und auf Vollständigkeit prüfen als Landesadmin @long @stage
### Das eigene Profil öffnen und auf Vollständigkeit prüfen als Lehrer mit einer Schulzuordnung @short @long @stage
### Das eigene Profil öffnen und auf Vollständigkeit prüfen als Schüler mit einer Schulzuordnung @long @stage
### Das eigene Profil öffnen und auf Vollständigkeit prüfen als Schuladmin mit einer Schulzuordnung @long @stage
### Das eigene Profil öffnen und auf Vollständigkeit prüfen als Lehrkraft mit 2 Schulzuordnungen @long @stage
4 changes: 4 additions & 0 deletions pages/Header.page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,14 @@ import { type Locator, Page } from '@playwright/test';

export class HeaderPage{
readonly page: Page;
readonly button_login: Locator;
readonly button_logout: Locator;
readonly button_profil: Locator;

constructor(page){
this.page = page;
this.button_login = page.getByTestId('nav-login-button');
this.button_logout = page.getByTestId('nav-logout-button');
this.button_profil = page.getByTestId('nav-profile-button');
}
}
80 changes: 80 additions & 0 deletions pages/ProfileView.page.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
import { type Locator, Page } from '@playwright/test';

export class ProfilePage{
readonly page: Page;
readonly button_ZurueckVorherigeSeite: Locator;
readonly text_h2_Ueberschrift: Locator;
// Persönliche Daten
readonly cardHeadline_PersoenlicheDaten: Locator;
readonly label_VornameNachname: Locator;
readonly data_VornameNachname: Locator;
readonly label_Benutzername: Locator;
readonly data_Benutzername: Locator;
readonly label_KopersNr: Locator;
readonly data_KopersNr: Locator;
readonly icon_InfoPersoenlicheDaten: Locator;
// Schulzuordnung 1
readonly cardHeadline_Schulzuordnung1: Locator;
readonly label_Schule1: Locator;
readonly data_Schule1: Locator;
readonly label_Rolle1: Locator;
readonly data_Rolle1: Locator;
readonly label_Dienststellennummer1: Locator;
readonly data_Dienststellennummer1: Locator;
// Schulzuordnung 2
readonly cardHeadline_Schulzuordnung2: Locator;
readonly label_Schule2: Locator;
readonly data_Schule2: Locator;
readonly label_Rolle2: Locator;
readonly data_Rolle2: Locator;
readonly label_Dienststellennummer2: Locator;
readonly data_Dienststellennummer2: Locator;
// Passwort
readonly cardHeadline_Passwort: Locator;
readonly icon_Schluessel_Passwort: Locator;
readonly button_NeuesPasswortSetzen: Locator;
// 2FA
readonly cardHeadline_2FA: Locator;
readonly icon_Schild2FA: Locator;
readonly button_2FAEinrichten: Locator;

constructor(page){
this.page = page;
this.button_ZurueckVorherigeSeite = page.getByTestId('back-to-previous-page-button');
this.text_h2_Ueberschrift = page.getByTestId('profile-headline');
// Persönliche Daten
this.cardHeadline_PersoenlicheDaten = page.getByTestId('layout-card-headline-persoenliche-daten');
this.label_VornameNachname = page.getByTestId('fullName-label');
this.data_VornameNachname = page.getByTestId('fullName-value');
this.label_Benutzername = page.getByTestId('userName-label');
this.data_Benutzername = page.getByTestId('userName-value');
this.label_KopersNr = page.getByTestId('kopersnummer-label');
this.data_KopersNr = page.getByTestId('kopersnummer-value');
this.icon_InfoPersoenlicheDaten = page.getByTestId('info-icon');
// Die Schulzuordnungen sind als Tabelle dargestellt, darum sind Indizes in den Ids
// Schulzuordnung 1
this.cardHeadline_Schulzuordnung1 = page.getByTestId('zuordung-card-1');
this.label_Schule1 = page.getByTestId('schule-label-1');
this.data_Schule1 = page.getByTestId('schule-value-1');
this.label_Rolle1 = page.getByTestId('rolle-label-1');
this.data_Rolle1 = page.getByTestId('rolle-value-1');
this.label_Dienststellennummer1 = page.getByTestId('dienststellennummer-label-1');
this.data_Dienststellennummer1 = page.getByTestId('dienststellennummer-value-1');
// Schulzuordnung 2
this.cardHeadline_Schulzuordnung2 = page.getByTestId('zuordung-card-2');
this.label_Schule2 = page.getByTestId('schule-label-2');
this.data_Schule2 = page.getByTestId('schule-value-2');
this.label_Rolle2 = page.getByTestId('rolle-label-2');
this.data_Rolle2 = page.getByTestId('rolle-value-2');
this.label_Dienststellennummer2 = page.getByTestId('dienststellennummer-label-2');
this.data_Dienststellennummer2 = page.getByTestId('dienststellennummer-value-2');
// Passwort
this.cardHeadline_Passwort = page.getByTestId('new-password-card');
this.icon_Schluessel_Passwort = page.getByTestId('password-icon');
this.button_NeuesPasswortSetzen = page.getByTestId('open-change-password-dialog');
// 2FA
this.cardHeadline_2FA = page.getByTestId('two-factor-card');
this.icon_Schild2FA = page.getByTestId('two-factor-icon');
this.button_2FAEinrichten = page.getByTestId('setup-two-factor-button');
}
}
Loading

0 comments on commit a0ce3c5

Please sign in to comment.