feature: PDF-Thumbnails für Dokumente (Upload + Admin-Backfill) #308

Merged
marcel merged 24 commits from feat/issue-307-pdf-thumbnails into main 2026-04-23 07:11:23 +02:00
2 changed files with 27 additions and 1 deletions
Showing only changes of commit abbb7c798f - Show all commits

View File

@@ -11,7 +11,8 @@ const AUTHENTICATED_PAGES = [
{ name: 'home', path: '/' },
{ name: 'persons', path: '/persons' },
{ name: 'aktivitaeten', path: '/aktivitaeten' },
{ name: 'admin', path: '/admin' }
{ name: 'admin', path: '/admin' },
{ name: 'admin-system', path: '/admin/system' }
];
function buildAxe(page: Parameters<typeof AxeBuilder>[0]['page']) {

View File

@@ -248,3 +248,28 @@ test.describe('Admin system tab — backfill file hashes', () => {
await page.screenshot({ path: 'test-results/e2e/admin-backfill-hashes.png' });
});
});
// ─── System tab — generate thumbnails ─────────────────────────────────────────
test.describe('Admin system tab — generate thumbnails', () => {
test('admin triggers thumbnail generation and sees DONE within 30s', async ({ page }) => {
test.setTimeout(45_000);
await page.goto('/admin');
await page.waitForSelector('[data-hydrated]');
// Navigate to System tab
await page.getByRole('button', { name: /system/i }).click();
const btn = page
.locator('[data-thumbnails-trigger]')
.or(page.getByRole('button', { name: /thumbnails erzeugen/i }));
await expect(btn.first()).toBeVisible();
await btn.first().click();
// Status transitions RUNNING → DONE; poll message shows the final summary
await expect(page.getByTestId('thumbnails-status-done')).toBeVisible({ timeout: 30_000 });
await page.screenshot({ path: 'test-results/e2e/admin-generate-thumbnails.png' });
});
});