feat: add Playwright testing framework configuration and tests #71

Merged
jank merged 48 commits from feature/add-playwright into main 2025-01-17 13:34:52 +00:00
Showing only changes of commit c1de527057 - Show all commits

View file

@ -1,4 +1,4 @@
import {test, expect} from "@playwright/test"; import { test, expect } from "@playwright/test";
test.describe('mitarbeiter', () => { test.describe('mitarbeiter', () => {
test.beforeEach(async ({ page }) => { test.beforeEach(async ({ page }) => {
@ -17,17 +17,17 @@ test.describe('mitarbeiter', () => {
await expect(page.getByRole('heading')).toHaveText("Employees"); await expect(page.getByRole('heading')).toHaveText("Employees");
}); });
test('ShouldLoadEmployees', async ({page}) => { test('ShouldLoadEmployees', async ({ page }) => {
expect(page.getByText('Max')).toBeTruthy(); expect(page.getByText('Max')).toBeTruthy();
}); });
test('AddEmployeeShouldRedirect', async ({page}) => { test('AddEmployeeShouldRedirect', async ({ page }) => {
await page.getByText('Add employee').click(); await page.getByText('Add employee').click();
expect(page.url()).toContain('mitarbeitererstellen'); expect(page.url()).toContain('mitarbeitererstellen');
}); });
test('EditShouldRedirectToCorrespondingPage', async ({page}) => { test('EditShouldRedirectToCorrespondingPage', async ({ page }) => {
const button = page.getByText('Edit').first(); const button = page.getByText('Edit').first();
await button.click(); await button.click();
@ -35,12 +35,17 @@ test.describe('mitarbeiter', () => {
expect(page.url()).toContain('1'); expect(page.url()).toContain('1');
}); });
test('DeleteShouldRemoveUser', async ({page}) => { test('DeleteShouldRemoveUser', async ({ page }) => {
const button = page.getByText('Delete').first(); const button = page.getByText('Delete').first();
const users = page.getByText('Delete');
await users.first().waitFor({ state: "visible" });
expect(await users.count()).toBe(2);
await button.click(); await button.click();
const user = page.getByText('Max'); const user = page.getByText('Delete');
expect(user).toBeFalsy(); expect(await user.count()).toBe(1);
}); });
}); });