From 3160b66697157b96afae23e1cbe26cdb4b48f677 Mon Sep 17 00:00:00 2001 From: Gulum Date: Sat, 6 Jun 2026 16:56:54 +0200 Subject: [PATCH] WURF-LINK: Wurf-Feld auf Tier-Detailseite als Link zur Wurf-Detailseite (/wuerfe/{id}) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - GerbilDetailPage: Wurf-Feld zeigt Link wenn litterId + Name auflösbar; sonst bisheriger '—'-Fallback (kein toter Link) - e2e: neuer Test verifiziert Link sichtbar + Navigation zu Wurf-Detail Gate: vitest 82/82, e2e 122/122, build+tsc clean --- gerbil-manager-web/e2e/tiere.spec.ts | 10 ++++++++++ gerbil-manager-web/src/pages/GerbilDetailPage.tsx | 9 ++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/gerbil-manager-web/e2e/tiere.spec.ts b/gerbil-manager-web/e2e/tiere.spec.ts index 7fb571a..d60d1a3 100644 --- a/gerbil-manager-web/e2e/tiere.spec.ts +++ b/gerbil-manager-web/e2e/tiere.spec.ts @@ -98,6 +98,16 @@ test('Detailseite zeigt Stammdaten + Tab-Inhalte (Gesundheit/Gewicht/Fotos)', as await expect(page.getByText(/85\s*g/)).toBeVisible() }) +test('Detailseite: Wurf-Feld ist ein Link zur Wurf-Detailseite (WURF-LINK)', async ({ page }) => { + skipUnlessMock() + await page.goto('/rennmaeuse/kruemel') + // Krümel hat litterId 'w-kruemel' → Name 'Wurf K' → Link /wuerfe/w-kruemel + const litterLink = page.getByRole('link', { name: 'Wurf K' }) + await expect(litterLink).toBeVisible() + await litterLink.click() + await expect(page.getByRole('heading', { name: 'Wurf K' })).toBeVisible() +}) + test('Tier bearbeiten — Notizen ändern', async ({ page }) => { skipUnlessMock() await page.goto('/rennmaeuse/kruemel/bearbeiten') diff --git a/gerbil-manager-web/src/pages/GerbilDetailPage.tsx b/gerbil-manager-web/src/pages/GerbilDetailPage.tsx index b8208e7..e002df0 100644 --- a/gerbil-manager-web/src/pages/GerbilDetailPage.tsx +++ b/gerbil-manager-web/src/pages/GerbilDetailPage.tsx @@ -173,7 +173,14 @@ export default function GerbilDetailPage() { } /> - + {litterName.get(g.litterId)} + : lookup(litterName, g.litterId) + } + />