Skip to content

Commit

Permalink
Testfall Ergebnisliste Schuule auf Vollstaendigkeit pruefen fertig
Browse files Browse the repository at this point in the history
  • Loading branch information
jakobmadp committed Apr 22, 2024
1 parent 3dc1bbb commit 449ea49
Show file tree
Hide file tree
Showing 7 changed files with 63 additions and 7 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/schedule_staging.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Scheduled Playwright Smoketest(staging)
on:
schedule:
- cron: '10 6 * * *'
- cron: '10 5 * * *'
jobs:
test:
timeout-minutes: 60
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/schedule_test.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Scheduled Playwright Smoketest(test.dev)
on:
schedule:
- cron: '10 6 * * *'
- cron: '10 5 * * *'
jobs:
test:
timeout-minutes: 60
Expand Down
2 changes: 2 additions & 0 deletions pages/MenuBar.page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ export class MenuPage{
readonly menueItem_AlleRollenAnzeigen: Locator;
readonly menueItem_RolleAnlegen: Locator;
readonly label_Schulverwaltung: Locator;
readonly menueItem_AlleSchulenAnzeigen: Locator;
readonly label_Schultraegerverwaltung: Locator;

constructor(page){
Expand All @@ -26,6 +27,7 @@ export class MenuPage{
this.menueItem_AlleRollenAnzeigen = page.locator('[data-testid="rolle-management-menu-item"] .v-list-item-title');
this.menueItem_RolleAnlegen = page.getByTestId('rolle-creation-menu-item');
this.label_Schulverwaltung = page.locator('[data-testid="schule-management-title"] .v-list-item-title');
this.menueItem_AlleSchulenAnzeigen = page.locator('[data-testid="schule-management-menu-item"] .v-list-item-title');
this.label_Schultraegerverwaltung = page.locator('[data-testid="schultraeger-management-title"] .v-list-item-title');
}
}
17 changes: 17 additions & 0 deletions pages/admin/SchuleManagementView.page.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { type Locator, Page } from '@playwright/test';

export class SchuleManagementViewPage{
readonly page: Page;
readonly text_h1_Administrationsbereich: Locator;
readonly text_h2_Schulverwaltung: Locator;
readonly table_header_Dienstellennummer: Locator;
readonly table_header_Schulname: Locator;

constructor(page){
this.page = page;
this.text_h1_Administrationsbereich = page.getByTestId('admin-headline');
this.text_h2_Schulverwaltung = page.getByTestId('layout-card-headline');
this.table_header_Dienstellennummer = page.getByText('Dienststellennummer');
this.table_header_Schulname = page.getByText('Schulname');
}
}
4 changes: 2 additions & 2 deletions tests/Person.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ test.describe(`Testfälle für die Administration von Personen: Umgebung: ${proc
const Header = new HeaderPage(page);

const Rolle = 'Lehrkraft';
const Vorname = 'TAutoV' + faker.person.firstName();
const Nachname = 'TAutoN' + faker.person.lastName();;
const Vorname = 'TAutoV' + faker.person.firstName();
const Nachname = 'TAutoN' + faker.person.lastName() + '-' + faker.person.lastName(); // Wahrscheinlichkeit doppelter Namen verringern
const Schulstrukturknoten = '(Testschule Schulportal)';
let Benutzername= '';
let Einstiegspasswort = '';
Expand Down
6 changes: 3 additions & 3 deletions tests/Rolle.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ test.describe(`Testfälle für die Administration von Rollen: Umgebung: ${proces
const RolleCreationView = new RolleCreationViewPage(page);
const RolleManagementeView = new RolleManagementViewPage(page);

const ROLLENNAME1 = 'TAutoR1' + faker.word.noun();
const ROLLENNAME2 = 'TAutoR2' + faker.word.noun();
const ROLLENNAME1 = 'TAutoR1' + faker.word.noun() + '-' + faker.word.noun(); // Wahrscheinlichkeit doppelter Namen verringern
const ROLLENNAME2 = 'TAutoR2' + faker.word.noun() + '-' + faker.word.noun();
const SCHULSTRUKTURKNOTEN1 = 'Wurzel Land Schleswig Holstein';
const SCHULSTRUKTURKNOTEN2 = 'Amalie-Sieveking-Schule';
const ROLLENART1 = 'Lern'
Expand Down Expand Up @@ -75,7 +75,7 @@ test.describe(`Testfälle für die Administration von Rollen: Umgebung: ${proces
})
})

test('Gesamtübersicht Rollen auf Vollständigkeit prüfen', async ({ page }) => {
test('Ergebnisliste Rollen auf Vollständigkeit prüfen', async ({ page }) => {
const Landing = new LandingPage(page);
const Startseite = new StartPage(page);
const Login = new LoginPage(page);
Expand Down
37 changes: 37 additions & 0 deletions tests/Schule.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import { test, expect } from '@playwright/test';
import { LandingPage } from '../pages/LandingView.page';
import { LoginPage } from '../pages/LoginView.page';
import { StartPage } from '../pages/StartView.page';
import { MenuPage } from '../pages/MenuBar.page';
import { SchuleManagementViewPage } from '../pages/admin/SchuleManagementView.page';

const PW = process.env.PW;
const ADMIN = process.env.USER;
const FRONTEND_URL = process.env.FRONTEND_URL;

test.describe(`Testfälle für die Administration von Schulen: Umgebung: ${process.env.UMGEBUNG}: URL: ${process.env.FRONTEND_URL}:`, () => {
test('Ergebnisliste Schulen auf Vollständigkeit prüfen', async ({ page }) => {
const Landing = new LandingPage(page);
const Startseite = new StartPage(page);
const Login = new LoginPage(page);
const Menue = new MenuPage(page);
const SchuleManagementView = new SchuleManagementViewPage(page);

await test.step(`Annmelden mit Benutzer ${ADMIN} und Schulverwaltung öffnen`, async () => {
await page.goto(FRONTEND_URL);
await Landing.button_Anmelden.click();
await Login.login(ADMIN, PW);
await expect(Startseite.text_h2_Ueberschrift).toBeVisible();
await Startseite.card_item_schulportal_administration.click();
await Menue.menueItem_AlleSchulenAnzeigen.click();
})

await test.step(`Alle Elemente in der Ergebnisliste auf Existenz prüfen`, async () => {
await expect(SchuleManagementView.text_h1_Administrationsbereich).toBeVisible();
await expect(SchuleManagementView.text_h2_Schulverwaltung).toBeVisible();
await expect(SchuleManagementView.text_h2_Schulverwaltung).toHaveText('Schulverwaltung');
await expect(SchuleManagementView.table_header_Dienstellennummer).toBeVisible();
await expect(SchuleManagementView.table_header_Schulname).toBeVisible();
})
})
})

0 comments on commit 449ea49

Please sign in to comment.