mirror of
https://github.com/complexcaresolutions/dak.c2s.git
synced 2026-03-17 19:33:41 +00:00
52 lines
1.9 KiB
TypeScript
52 lines
1.9 KiB
TypeScript
import { test, expect } from '@playwright/test'
|
|
|
|
test.describe('Cases', () => {
|
|
test.beforeEach(async ({ page }) => {
|
|
// Log in before each test
|
|
await page.goto('/login')
|
|
await page.getByLabel('E-Mail').fill('admin@dak-portal.de')
|
|
await page.getByLabel('Passwort').fill('admin123')
|
|
await page.getByRole('button', { name: 'Anmelden' }).click()
|
|
await expect(page).toHaveURL(/\/dashboard/)
|
|
|
|
// Navigate to cases page
|
|
await page.getByRole('link', { name: /fälle/i }).click()
|
|
await expect(page).toHaveURL(/\/cases/)
|
|
})
|
|
|
|
test('case list table is visible', async ({ page }) => {
|
|
// Table headers should be visible
|
|
await expect(page.getByRole('columnheader', { name: 'Fall-ID' })).toBeVisible()
|
|
await expect(page.getByRole('columnheader', { name: 'Datum' })).toBeVisible()
|
|
await expect(page.getByRole('columnheader', { name: 'KVNR' })).toBeVisible()
|
|
await expect(page.getByRole('columnheader', { name: 'Fallgruppe' })).toBeVisible()
|
|
})
|
|
|
|
test('search input filters cases', async ({ page }) => {
|
|
// The search input should be present
|
|
const searchInput = page.getByPlaceholder(/suche/i)
|
|
await expect(searchInput).toBeVisible()
|
|
|
|
// Type a search query
|
|
await searchInput.fill('onko')
|
|
|
|
// Wait for debounce and results to update
|
|
await page.waitForTimeout(500)
|
|
|
|
// The page should still show the cases heading
|
|
await expect(page.getByRole('heading', { name: 'Fälle' })).toBeVisible()
|
|
})
|
|
|
|
test('clicking a row opens detail sheet', async ({ page }) => {
|
|
// Wait for table rows to appear
|
|
const firstRow = page.locator('tbody tr').first()
|
|
await expect(firstRow).toBeVisible()
|
|
|
|
// Click the first row
|
|
await firstRow.click()
|
|
|
|
// The detail sheet should open with case information
|
|
await expect(page.getByText('Fall-ID')).toBeVisible()
|
|
await expect(page.getByRole('button', { name: /bearbeiten/i })).toBeVisible()
|
|
})
|
|
})
|