diff --git a/.github/workflows/manuell_staging.yml b/.github/workflows/manuell_staging.yml index 0bd09cb..455ef72 100644 --- a/.github/workflows/manuell_staging.yml +++ b/.github/workflows/manuell_staging.yml @@ -19,7 +19,7 @@ jobs: - name: Install Playwright Browsers run: npx playwright install --with-deps - name: Run Playwright tests - run: FRONTEND_URL='https://spsh.staging.spsh.dbildungsplattform.de/' npx playwright test + run: FRONTEND_URL='https://spsh.staging.spsh.dbildungsplattform.de/' npx playwright test -g "@stage" env: USER: '${{ secrets.USER }}' PW: '${{ secrets.PW }}' diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index bac20f3..0c3ff3e 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -51,8 +51,12 @@ jobs: run: npm ci - name: Install Playwright Browsers run: npx playwright install --with-deps + + - name: List Playwright tests + run: npx playwright test --list --grep "@short" - name: Run Playwright tests - run: npx playwright test + run: npx playwright test --config=playwright.config.ts --grep "@short" + env: USER: '${{ secrets.USER }}' PW: '${{ secrets.PW }}' diff --git a/.github/workflows/schedule_dev.yml b/.github/workflows/schedule_dev.yml index 2cdaa59..331396a 100644 --- a/.github/workflows/schedule_dev.yml +++ b/.github/workflows/schedule_dev.yml @@ -21,7 +21,7 @@ jobs: - name: Install Playwright Browsers run: npx playwright install --with-deps - name: Run Playwright tests - run: FRONTEND_URL='https://main.dev.spsh.dbildungsplattform.de/' npx playwright test + run: FRONTEND_URL='https://main.dev.spsh.dbildungsplattform.de/' npx playwright test -g "@long" env: USER: '${{ secrets.USER }}' PW: '${{ secrets.PW }}' diff --git a/.github/workflows/schedule_staging.yml b/.github/workflows/schedule_staging.yml index ceb030f..4731f6e 100644 --- a/.github/workflows/schedule_staging.yml +++ b/.github/workflows/schedule_staging.yml @@ -21,7 +21,7 @@ jobs: - name: Install Playwright Browsers run: npx playwright install --with-deps - name: Run Playwright tests - run: FRONTEND_URL='https://spsh.staging.spsh.dbildungsplattform.de/' npx playwright test -g "Erfolgreicher Standard Login" + run: FRONTEND_URL='https://spsh.staging.spsh.dbildungsplattform.de/' npx playwright test -g "@smoke" env: USER: '${{ secrets.USER }}' PW: '${{ secrets.PW }}' diff --git a/.github/workflows/schedule_test.yml b/.github/workflows/schedule_test.yml index 1b0d605..3eb4c09 100644 --- a/.github/workflows/schedule_test.yml +++ b/.github/workflows/schedule_test.yml @@ -21,7 +21,7 @@ jobs: - name: Install Playwright Browsers run: npx playwright install --with-deps - name: Run Playwright tests - run: FRONTEND_URL='https://test.dev.spsh.dbildungsplattform.de/' npx playwright test -g "Erfolgreicher Standard Login" + run: FRONTEND_URL='https://test.dev.spsh.dbildungsplattform.de/' npx playwright test -g "@smoke" env: USER: '${{ secrets.USER }}' PW: '${{ secrets.PW }}' diff --git a/README.md b/README.md index cb8ca60..0519c47 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,8 @@ npm run lint ## Testdatenerstellung durch die Playwright-Tests -Neue Testdaten, die während der Testausführung erstellt werden, haben den Prefix 'TAuto-PW-', gefolgt von einem Buchstaben für den Typ des Objekts + einen Zufallswert aus faker oder einem festen Wert. Der Name einer Rolle ist z.B. TAuto-PW-R-xxxxxxxxx. Somit ist es einfacher, die Testdaten zu erkennen, die durch die Playwright-Tests erstellt wurden. +Neue Testdaten, die während der Testausführung erstellt werden, haben den Prefix 'TAuto-PW-', gefolgt von einem Buchstaben für den Typ des Objekts + einen Zufallswert +aus faker oder einem festen Wert. Der Name einer Rolle ist z.B. TAuto-PW-R-xxxxxxxxx. Somit ist es einfacher, die Testdaten zu erkennen, die durch die Playwright-Tests erstellt wurden. ## Hinweise für die Entwicklung der Tests @@ -79,3 +80,15 @@ test.only('2 Schulen nacheinander anlegen', async ({ page }) => { ## Entwicklungsumgebung Empfohlen wird VS-Code + +## Definition Testsuiten +### smoke +Dieses ist die kleinste Testsuite. Hiermit wird nur getestet, dass das Portal erfolgreich deployed wurde und die wichtigsten Komponenten lauffähig sind. +Getestet wird dieses durch einen Login-Test, der nach der Anmeldung prüft, dass die Kachel "Schulportal-Administration" angezeigt wird +### short +Die Testsuite läuft auf den Branch-Umgebungen und sollte eine Laufzeit von 5 Minuten nicht überschreiten. Für die Testuite werden die Testfälle mit der höchsten Priorität ausgewählt. +### long +Die Testsuite enthält alle funktionalen Tests. +### stage +Die Testsuite hat einen ähnlichen Umfang wie die Testsuite long. Auf der stage werden aber nicht die Testfälle ausgeführt, die aufgrund noch nicht implementierter Funktionen (wie z.B. Schulen löschen) Testdaten hinterlassen. +Desweiteren gibt es auf der Stage-Umgebung Schnittstellen wie z.B. itslearning, die nur da laufen bzw. eine Anbindung an das Testsystem von itslearning haben. Diese Testfälle können dann auch nur auf stage laufen. \ No newline at end of file diff --git a/docs/actions-github.md b/docs/actions-github.md new file mode 100644 index 0000000..e981fc2 --- /dev/null +++ b/docs/actions-github.md @@ -0,0 +1,17 @@ +# Ausführung der Tests durch Actions in github +Alle Actions können jederzeit manuell getriggert werden. Hierzu die entsprechende action auswählen. Dann auf den Button "Run workflow" klicken. + +## Action "Manuell alle Tests(staging)" +Diese Action kann nur manuell ausgelöst werden und enthält die Testsuite "stage" + +## Action "Playwright Tests" +Die Action wird beim Deployment auf den Branch-Umgebungen automatisch ausgelöst und enthält die Testsuite "short" + +## Action "Scheduled Playwright Alle Tests(main)" +Die Action wird jeden Morgen zu einer bestimmten Uhrzeit zeitgesteuert ausgelöst und enthält die Testsuite "long" + +## Action "Scheduled Playwright Smoketest(staging)" +Die Action wird jeden Morgen zu einer bestimmten Uhrzeit zeitgesteuert ausgelöst und enthält die Testsuite "smoke" + +## Action "Scheduled Playwright Smoketest(test.dev)" +Die Action wird jeden Morgen zu einer bestimmten Uhrzeit zeitgesteuert ausgelöst und enthält die Testsuite "smoke" \ No newline at end of file diff --git a/docs/tags-testcases.md b/docs/tags-testcases.md new file mode 100644 index 0000000..dc5847e --- /dev/null +++ b/docs/tags-testcases.md @@ -0,0 +1,18 @@ +# Erläuterung +## Die Tags/Kategorien dienen dazu, die Tests für die unterschiedlichen Umgebungen/Pipelines auszuwählen. +Somit ist sichergestellt, dass nicht immer alle Tests auf allen Umgebungen laufen. +Die tags werden in dem Testtitel am Ende gestellt. Jeder Testfall muss laut Konvention mindestens einen tag haben. +Für die Teststeuerung werden die tags in der Ausführungszeile ind der .yml Datei angegeben. +### Beispiel: FRONTEND_URL='https://test.dev.spsh.dbildungsplattform.de/' npx playwright test -g "@smoke" + +## Mögliche tags per Konvention(Definition Testsuiten siehe README.md) +### @smoke +### @short +### @long +### @stage + +### In Planung +#### @prod: Testsuite für Produktion (relevant für manuelles triggern nach Prod-Deployment) +#### @mobile: Testsuite für Mobiletests (relevant für main.dev, schedule täglich) +#### @browse: Testsuite für Browsertests (relevant relevant für main.dev, schedule täglich) +#### @bitv: Testsuite für Barrierefreiheitstests (relevant für main.dev, schedule täglich) \ No newline at end of file diff --git a/docs/testcases.md b/docs/testcases.md new file mode 100644 index 0000000..1a44e50 --- /dev/null +++ b/docs/testcases.md @@ -0,0 +1,50 @@ +# Testfälle(Testname) +## 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 + +## 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 \ No newline at end of file diff --git a/tests/Klasse.spec.ts b/tests/Klasse.spec.ts index b7c29c1..221748c 100644 --- a/tests/Klasse.spec.ts +++ b/tests/Klasse.spec.ts @@ -34,7 +34,7 @@ test.describe(`Testfälle für die Administration von Klassen: Umgebung: ${proce }); }); - test("Eine Klasse anlegen und die Klasse anschließend in der Ergebnisliste suchen und dann löschen", async ({ page }) => { + test("Eine Klasse als Landesadmin anlegen und die Klasse anschließend in der Ergebnisliste suchen und dann löschen @long @short @stage", async ({ page }) => { const Startseite = new StartPage(page); const Menue = new MenuPage(page); const KlasseCreationView = new KlasseCreationViewPage(page); @@ -73,7 +73,7 @@ test.describe(`Testfälle für die Administration von Klassen: Umgebung: ${proce }); }); - test("Ergebnisliste Klassen auf Vollständigkeit prüfen", async ({ page }) => { + test("Ergebnisliste Klassen als Landesadmin auf Vollständigkeit prüfen @long @short @stage", async ({ page }) => { const Startseite = new StartPage(page); const Menue = new MenuPage(page); const KlasseManagementView = new KlasseManagementViewPage(page); @@ -90,7 +90,7 @@ test.describe(`Testfälle für die Administration von Klassen: Umgebung: ${proce }); }); - test("Eine Klasse anlegen und die Bestätigungsseite vollständig prüfen", async ({ page }) => { + test("Eine Klasse als Landesadmin anlegen und die Bestätigungsseite vollständig prüfen @long @stage", async ({ page }) => { const KlasseCreationView = new KlasseCreationViewPage(page); const DIENSTSTELLENNUMMER = '1111111'; const SCHULNAME = "Testschule Schulportal"; diff --git a/tests/MenuBar.spec.ts b/tests/MenuBar.spec.ts index 538148c..d2b7b89 100644 --- a/tests/MenuBar.spec.ts +++ b/tests/MenuBar.spec.ts @@ -30,7 +30,7 @@ test.describe(`Testfälle für die Hauptmenue-Leiste: Umgebung: ${process.env.UM }); }); - test('Test der Hauptmenue-Leiste und Untermenues auf Vollständigkeit', async ({ page }) => { + test('Test der Hauptmenue-Leiste und Untermenues auf Vollständigkeit @long @short @stage', async ({ page }) => { const Startseite = new StartPage(page) const MenuBar = new MenuPage(page); @@ -50,7 +50,7 @@ test.describe(`Testfälle für die Hauptmenue-Leiste: Umgebung: ${process.env.UM }) }) - test('Test der Funktion "Zurueck zur Startseite"', async ({ page }) => { + test('Test der Funktion "Zurueck zur Startseite" @long @short @stage', async ({ page }) => { const Startseite = new StartPage(page) const MenuBar = new MenuPage(page); diff --git a/tests/Person.spec.ts b/tests/Person.spec.ts index cbc51b8..45d45cd 100644 --- a/tests/Person.spec.ts +++ b/tests/Person.spec.ts @@ -36,7 +36,7 @@ test.describe(`Testfälle für die Administration von Personen": Umgebung: ${pro }); }); - test("Einen Benutzer mit der Rolle Lehrkraft anlegen und anschließend mit diesem Benutzer anmelden", async ({ + test("Einen Benutzer mit der Rolle Lehrkraft anlegen als Landesadmin und anschließend mit diesem Benutzer anmelden @long @short @stage", async ({ page, }) => { const Landing = new LandingPage(page); @@ -109,7 +109,7 @@ test.describe(`Testfälle für die Administration von Personen": Umgebung: ${pro }); }); - test("Einen Benutzer mit der Rolle Landesadmin anlegen", async ({ page }) => { + test("Einen Benutzer mit der Rolle Landesadmin anlegen @long @short @stage", async ({ page }) => { const Startseite = new StartPage(page); const Menue = new MenuPage(page); const PersonCreationView = new PersonCreationViewPage(page); @@ -123,9 +123,7 @@ test.describe(`Testfälle für die Administration von Personen": Umgebung: ${pro await test.step(`Dialog Person anlegen öffnen`, async () => { await Startseite.card_item_schulportal_administration.click(); await Menue.menueItem_BenutzerAnlegen.click(); - await expect(PersonCreationView.text_h2_PersonAnlegen).toHaveText( - "Neuen Benutzer hinzufügen" - ); + await expect(PersonCreationView.text_h2_PersonAnlegen).toHaveText("Neuen Benutzer hinzufügen"); }); await test.step(`Benutzer anlegen`, async () => { @@ -154,7 +152,7 @@ test.describe(`Testfälle für die Administration von Personen": Umgebung: ${pro }); }); - test("Einen Benutzer mit der Rolle LiV anlegen", async ({ page }) => { + test("Einen Benutzer mit der Rolle LiV anlegen als Landesadmin @long @short @stage", async ({ page }) => { const Startseite = new StartPage(page); const Menue = new MenuPage(page); const PersonCreationView = new PersonCreationViewPage(page); @@ -197,7 +195,7 @@ test.describe(`Testfälle für die Administration von Personen": Umgebung: ${pro }); }); - test("Einen Benutzer mit der Rolle Schuladmin anlegen", async ({ page }) => { + test("Einen Benutzer mit der Rolle Schuladmin anlegen als Landesadmin @long @short @stage", async ({ page }) => { const Startseite = new StartPage(page); const Menue = new MenuPage(page); const PersonCreationView = new PersonCreationViewPage(page); @@ -240,7 +238,7 @@ test.describe(`Testfälle für die Administration von Personen": Umgebung: ${pro }); }); - test("Einen Benutzer mit der Rolle SuS anlegen", async ({ page }) => { + test("Einen Benutzer mit der Rolle SuS anlegen als Landesadmin @long @short @stage", async ({ page }) => { const Startseite = new StartPage(page); const Menue = new MenuPage(page); const PersonCreationView = new PersonCreationViewPage(page); @@ -286,7 +284,7 @@ test.describe(`Testfälle für die Administration von Personen": Umgebung: ${pro }); }); - test("Ergebnisliste Benutzer auf Vollständigkeit prüfen", async ({page }) => { + test("Ergebnisliste Benutzer auf Vollständigkeit prüfen als Landesadmin @long @short @stage", async ({page }) => { const Startseite = new StartPage(page); const Menue = new MenuPage(page); const PersonManagementView = new PersonManagementViewPage(page); @@ -309,7 +307,7 @@ test.describe(`Testfälle für die Administration von Personen": Umgebung: ${pro }); }); - test("Prüfung auf korrekte Rollen in dem Dropdown 'Rolle' nach Auswahl der Organisation bei Anlage eines Benutzer", async ({page}) => { + test("Prüfung auf korrekte Rollen in dem Dropdown 'Rolle' nach Auswahl der Organisation bei Anlage eines Benutzer in der Rolle Landesadmin @long @short @stage", async ({page}) => { const Startseite = new StartPage(page); const Menue = new MenuPage(page); const PersonCreationView = new PersonCreationViewPage(page); @@ -379,7 +377,7 @@ test.describe(`Testfälle für die Administration von Personen": Umgebung: ${pro }); }); - test("In der Ergebnisliste die Suchfunktion ausführen", async ({ page }) => { + test("In der Ergebnisliste die Suchfunktion ausführen als Landesadmin @long @short @stage", async ({ page }) => { const PersonManagementView = new PersonManagementViewPage(page); const PersonCreationView = new PersonCreationViewPage(page); @@ -446,7 +444,7 @@ test.describe(`Testfälle für die Administration von Personen": Umgebung: ${pro }); }); - test("Eine Lehrkraft anlegen in der Rolle Landesadmin und die Bestätigungsseite vollständig prüfen", async ({ page }) => { + test("Eine Lehrkraft anlegen in der Rolle Landesadmin und die Bestätigungsseite vollständig prüfen @long @short @stage", async ({ page }) => { const PersonCreationView = new PersonCreationViewPage(page); const Rolle = "Lehrkraft"; const Vorname = "TAuto-PW-V-" + faker.person.firstName(); @@ -499,7 +497,7 @@ test.describe(`Testfälle für die Administration von Personen": Umgebung: ${pro }); }); - test("Mehere Benutzer hintereinander anlegen in der Rolle Landesadmin für die Rollenarten SuS und LEHR und die Bestätigungsseiten vollständig prüfen", async ({ page }) => { + test("Mehere Benutzer hintereinander anlegen in der Rolle Landesadmin für die Rollenarten SuS und LEHR und die Bestätigungsseiten vollständig prüfen @long @short @stage", async ({ page }) => { const Landing = new LandingPage(page); const Startseite = new StartPage(page); const Login = new LoginPage(page); diff --git a/tests/Rolle.spec.ts b/tests/Rolle.spec.ts index 8ed66dc..8f4c185 100644 --- a/tests/Rolle.spec.ts +++ b/tests/Rolle.spec.ts @@ -34,7 +34,7 @@ test.describe(`Testfälle für die Administration von Rollen: Umgebung: ${proces }); }); - test("2 Rollen nacheinander anlegen mit Rollenarten LERN und LEHR", async ({ page }) => { + test("2 Rollen nacheinander anlegen mit Rollenarten LERN und LEHR als Landesadmin @long @short @stage", async ({ page }) => { const Startseite = new StartPage(page); const Menue = new MenuPage(page); const RolleCreationView = new RolleCreationViewPage(page); @@ -103,7 +103,7 @@ test.describe(`Testfälle für die Administration von Rollen: Umgebung: ${proces }); }); - test("Ergebnisliste Rollen auf Vollständigkeit prüfen", async ({ page }) => { + test("Ergebnisliste Rollen auf Vollständigkeit prüfen als Landesadmin @long @short @stage", async ({ page }) => { const Startseite = new StartPage(page); const Menue = new MenuPage(page); const RolleManagementView = new RolleManagementViewPage(page); @@ -120,7 +120,7 @@ test.describe(`Testfälle für die Administration von Rollen: Umgebung: ${proces }); }); - test("Eine Rolle anlegen und die Bestätigungsseite vollständig prüfen ", async ({ page }) => { + test("Eine Rolle anlegen und die Bestätigungsseite vollständig prüfen als Landesadmin @long @short @stage", async ({ page }) => { const RolleCreationView = new RolleCreationViewPage(page); const ROLLENNAME = "TAuto-PW-R-" + faker.lorem.word({ length: { min: 8, max: 12 } }); const DIENSTSTELLENNUMMER = '1111111'; diff --git a/tests/Schule.spec.ts b/tests/Schule.spec.ts index 262675e..88271b6 100644 --- a/tests/Schule.spec.ts +++ b/tests/Schule.spec.ts @@ -38,7 +38,7 @@ test.describe(`Testfälle für die Administration von Schulen: Umgebung: ${proce }); }); - test("2 Schulen nacheinander anlegen", async ({ page }) => { + test("2 Schulen nacheinander anlegen als Landesadmin @long", async ({ page }) => { const Startseite = new StartPage(page); const Menue = new MenuPage(page); const SchuleCreationView = new SchuleCreationViewPage(page); @@ -89,7 +89,7 @@ test.describe(`Testfälle für die Administration von Schulen: Umgebung: ${proce }); }); - test("Ergebnisliste Schulen auf Vollständigkeit prüfen", async ({ page }) => { + test("Ergebnisliste Schulen auf Vollständigkeit prüfen als Landesadmin @long @short @stage", async ({ page }) => { const Startseite = new StartPage(page); const Menue = new MenuPage(page); const SchuleManagementView = new SchuleManagementViewPage(page); @@ -105,7 +105,7 @@ test.describe(`Testfälle für die Administration von Schulen: Umgebung: ${proce }); }); - test("Eine Schule anlegen als Schuladmin und die Bestätigungsseite vollständig prüfen ", async ({ page }) => { + test("Eine Schule anlegen als Schuladmin und die Bestätigungsseite vollständig prüfen @long @short", async ({ page }) => { const SchuleCreationView = new SchuleCreationViewPage(page); // Schulen können noch nicht gelöscht werden. Um doppelte Namen zu vermeiden, wird am dem Schulnamen eine Zufallszahl angehängt const ZUFALLSNUMMER = faker.number.bigInt({ min: 1000, max: 9000 }); diff --git a/tests/SchulportalAdministration.spec.ts b/tests/SchulportalAdministration.spec.ts index 2757f0e..870cf65 100644 --- a/tests/SchulportalAdministration.spec.ts +++ b/tests/SchulportalAdministration.spec.ts @@ -20,7 +20,7 @@ test.describe(`Testfälle für Schulportal Administration": Umgebung: ${process. }); }); - test("Prüfen, dass die Schulportal-Administration Kachel nicht sichtbar ist für Lehrkräfte", async ({page}) => { + test("Prüfen, dass die Schulportal-Administration Kachel nicht sichtbar ist für Lehrkräfte @long @stage", async ({page}) => { const Landing = new LandingPage(page); const Login = new LoginPage(page); const Header = new HeaderPage(page); @@ -52,7 +52,7 @@ test.describe(`Testfälle für Schulportal Administration": Umgebung: ${process. await deleteRolle(page, userInfo.rolleId); }); - test("Prüfen, dass die Schulportal-Administration Kachel nicht sichtbar ist für Schüler", async ({page}) => { + test("Prüfen, dass die Schulportal-Administration Kachel nicht sichtbar ist für Schüler @long @short @stage", async ({page}) => { const Landing = new LandingPage(page); const Login = new LoginPage(page); const Header = new HeaderPage(page); @@ -84,7 +84,7 @@ test.describe(`Testfälle für Schulportal Administration": Umgebung: ${process. await deleteRolle(page, userInfo.rolleId); }); - test("Prüfen, dass die Schulportal-Administration Kachel sichtbar ist für Schuladmins", async ({page}) => { + test("Prüfen, dass die Schulportal-Administration Kachel sichtbar ist für Schuladmins @long @stage", async ({page}) => { const Landing = new LandingPage(page); const Login = new LoginPage(page); const Header = new HeaderPage(page); diff --git a/tests/api.spec.ts b/tests/api.spec.ts index 29c1286..716f689 100644 --- a/tests/api.spec.ts +++ b/tests/api.spec.ts @@ -18,7 +18,7 @@ test.describe(`Spike um die API anzusprechen: Umgebung: ${process.env.UMGEBUNG}: }); }); - test('GET und Post request', async ({ page}) => { + test('GET und Post request Personen und Benutzer anschließend über das FE löschen @long @short @stage', async ({ page}) => { const Login = new LoginPage(page); const Landing = new LandingPage(page); const Start = new StartPage(page); @@ -26,7 +26,7 @@ test.describe(`Spike um die API anzusprechen: Umgebung: ${process.env.UMGEBUNG}: const Vorname = "TAuto-PW-V-" + faker.person.firstName(); const Nachname = "TAuto-PW-N-" + faker.person.lastName(); - await test.step(`Anmelden mit Benutzer ${USER}`, async () => { + await test.step(`Anmelden mit einem Landesadmin ${USER}`, async () => { await page.goto(FRONTEND_URL); await expect(Landing.text_Willkommen).toBeVisible(); await Landing.button_Anmelden.click(); diff --git a/tests/login.spec.ts b/tests/login.spec.ts index 604bebb..6f55b04 100644 --- a/tests/login.spec.ts +++ b/tests/login.spec.ts @@ -9,7 +9,7 @@ const USER = process.env.USER; const FRONTEND_URL = process.env.FRONTEND_URL || ''; test.describe(`Testfälle für die Authentifizierung: Umgebung: ${process.env.UMGEBUNG}: URL: ${process.env.FRONTEND_URL}:`, () => { - test('Erfolgreicher Standard Login', async ({ page }) => { + test('Erfolgreicher Standard Login Landesadmin @long @stage @smoke', async ({ page }) => { const Login = new LoginPage(page); const Landing = new LandingPage(page); const Start = new StartPage(page); @@ -25,7 +25,7 @@ test.describe(`Testfälle für die Authentifizierung: Umgebung: ${process.env.UM }) }) - test('Erfolgloser Login mit falschem Passwort', async ({ page }) => { + test('Erfolgloser Login mit falschem Passwort und gültigem Benutzernamen in der Rolle Landesadmin @long @short @stage', async ({ page }) => { const Login = new LoginPage(page); const Landing = new LandingPage(page); diff --git a/tests/logoff.spec.ts b/tests/logoff.spec.ts index f94d118..b3c9852 100644 --- a/tests/logoff.spec.ts +++ b/tests/logoff.spec.ts @@ -9,7 +9,7 @@ const USER = process.env.USER; const FRONTEND_URL = process.env.FRONTEND_URL || ''; test.describe(`Testfälle für die Authentifizierung: Umgebung: ${process.env.UMGEBUNG}: URL: ${process.env.FRONTEND_URL}:`, () => { - test('Erfolgreicher Standard Logoff', async ({ page }) => { + test('Erfolgreicher Standard Logoff als Landesadmin @long @short @stage', async ({ page }) => { const Landing = new LandingPage(page); const Startseite = new StartPage(page); const Login = new LoginPage(page); diff --git a/tests/workflow.spec.ts b/tests/workflow.spec.ts index 1ccb638..142531d 100644 --- a/tests/workflow.spec.ts +++ b/tests/workflow.spec.ts @@ -26,7 +26,7 @@ test.describe(`Testfälle für den Test von workflows: Umgebung: ${process.env.U }); }); - test("Angebote per Link öffnen", async ({ page }) => { + test("Angebote per Link öffnen als Landesadmin @long @short @stage", async ({ page }) => { const Startseite = new StartPage(page); await test.step(`Kacheln Email für Lehrkräfte und Itslearning öffnen, danach beide Kacheln wieder schließen`, async () => { @@ -51,7 +51,7 @@ test.describe(`Testfälle für den Test von workflows: Umgebung: ${process.env.U }); }); - test("Passwort Reset", async ({ page }) => { + test("Passwort Reset für einen Lehrer als Landesadmin @long @short @stage", async ({ page }) => { const Landing = new LandingPage(page); const Login = new LoginPage(page); const Startseite = new StartPage(page);