diff --git a/compose.yml b/compose.yml index 9a4847c..10408c9 100644 --- a/compose.yml +++ b/compose.yml @@ -6,8 +6,6 @@ services: postgres-employee: container_name: postgres_employee image: postgres:13.3 - volumes: - - employee_postgres_data:/var/lib/postgresql/data environment: POSTGRES_DB: employee_db POSTGRES_USER: employee diff --git a/tests/mitarbeiter.spec.ts b/tests/mitarbeiter.spec.ts new file mode 100644 index 0000000..bec7ae2 --- /dev/null +++ b/tests/mitarbeiter.spec.ts @@ -0,0 +1,37 @@ +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/mitarbeiter'); + }); + + test('ShouldLoad', async ({ page }) => { + await expect(page.getByRole('heading')).toHaveText("Employees"); + }); + + test('ShouldLoadEmployees', async ({page}) => { + expect(page.getByText('Max')).toBeTruthy(); + }); + + test('AddEmployeeShouldRedirect', async ({page}) => { + await page.getByText('Add employee').click(); + + expect(page.url()).toContain('mitarbeitererstellen'); + }); + + test('EditShouldRedirectToCorrespondingPage', async ({page}) => { + const button = page.getByText('Edit').first(); + await button.click(); + + expect(page.url()).toContain('mitarbeiterbearbeiten'); + expect(page.url()).toContain('1'); + }); +});