import { test, expect } from "@playwright/test"; test.describe('mitarbeiter', () => { 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/mitarbeitererstellen'); }); test('pageShouldLoad', async ({ page }) => { await expect(page.getByText('Save')).toHaveCount(1); }); test('backButtonShouldGoBack', async ({ page }) => { await page.getByText('Back').click(); expect(page.url().includes('erstellen')).toBeFalsy(); }); test('EveryFieldShouldValidateEmptiness', async ({ page }) => { await page.getByText('Save').click(); const errors = page.getByText('This field is required'); await expect(errors).toHaveCount(6); }); test('PhoneNumberShouldBeValidated', async ({ page }) => { await page.getByLabel('Phone').fill("asd"); await page.getByText('Save').click(); const error = page.getByText('This field must be a valid phone number'); await expect(error).toHaveCount(1); }); test('PostCodeShouldValidateTooShort', async ({ page }) => { await page.getByLabel('Postcode').fill("1"); await page.getByText('Save').click(); const error = page.getByText('The value is too short'); await expect(error).toHaveCount(1); }); test('PostCodeShouldValidateTooLong', async ({ page }) => { await page.getByLabel('Postcode').fill("123456"); await page.getByText('Save').click(); const error = page.getByText('The value is too long'); await expect(error).toHaveCount(1); }); });