import { test, expect } from '@playwright/test';

test.describe('Verpleegrapportage', () => {
  test('laadt de rapportage pagina', async ({ page }) => {
    await page.goto('/epd/verpleegrapportage');

    // Pagina laadt zonder fouten (geen 404/500)
    await expect(page).not.toHaveURL(/\/login/);

    // Wacht op content
    await page.waitForLoadState('networkidle');

    // Pagina is zichtbaar (lege state of workspace)
    const body = page.locator('body');
    await expect(body).toBeVisible();
  });

  test('toont lege staat of patiëntenlijst', async ({ page }) => {
    await page.goto('/epd/verpleegrapportage');
    await page.waitForLoadState('networkidle');

    // Workspace toont "Ronde overzicht" als er patiënten zijn, anders lege staat
    const hasWorkspace = await page.locator('text=Ronde overzicht').isVisible().catch(() => false);
    const hasEmptyState = await page.locator('text=Geen patiënten').isVisible().catch(() => false);

    expect(hasWorkspace || hasEmptyState).toBeTruthy();
  });
});

test.describe('Overdracht pagina', () => {
  test('laadt de overdracht pagina', async ({ page }) => {
    await page.goto('/epd/verpleegrapportage/overdracht');
    await page.waitForLoadState('networkidle');

    await expect(page).not.toHaveURL(/\/login/);
    await expect(page.locator('body')).toBeVisible();
  });
});
