import { test, expect } from "@playwright/test"; test.describe('qualifikationen', () => { test.beforeEach(async ({ page }) => { await page.goto('http://localhost:4200'); await page.getByRole('button').click(); await page.waitForFunction(() => window.location.href.includes('keycloak')); await page.getByLabel('Username or email').fill('user'); await page.getByLabel('Password').fill('test'); await page.click('#kc-login'); await page.goto('http://localhost:4200/qualifikationsverwaltung'); }); test('ShouldLoad', async ({ page }) => { await expect(page.getByRole('heading')).toHaveText("Qualifications"); }); test('ShouldLoadQualifications', async ({ page }) => { expect(page.getByText('Java')).toBeTruthy(); }); // TODO // test('AddQualificationShouldRedirect', async ({ page }) => { // await page.getByText('Add qualification').click(); // expect(page.url()).toContain('mitarbeitererstellen'); // }); test('EditShouldRedirectToCorrespondingPage', async ({ page }) => { const button = page.getByText('Edit').first(); await button.click(); expect(page.url()).toContain('qualifikationbearbeiten'); expect(page.url()).toContain('1'); }); test('DeleteShouldBeThere', async ({ page }) => { const button = page.getByText('Delete').first(); const users = page.getByText('Delete'); await users.first().waitFor({ state: "visible" }); expect(await users.count()).toBe(2); expect(button).toBeTruthy(); }); test('SearchShouldWork', async ({ page }) => { const searchField = page.getByRole('textbox'); const searchButton = page.getByText('Search').first(); await searchField.fill('Java'); await searchButton.click(); const hiddenItem = page.getByText('Angular'); await expect(hiddenItem).toHaveCount(0); }); });