/** * FEAT-Contracts: Verträge-Liste (/vertraege) zeigt importierte Abgabeverträge. * * Der Mock-Seed enthält EINEN importierten Vertrag (hasFile:false). Wir prüfen, * dass er gerendert wird (Abnehmer, Preis, Datum, Tieranzahl) und dass der * Word-Download-Button für ihn ausgeblendet ist (kein .docx), während der * PDF-Button (aus den Daten neu erzeugt) sichtbar bleibt. */ import { de, expect, gotoSection, skipUnlessMock, test } from './fixtures' const t = de.pages.vertraege test.describe('Verträge-Liste', () => { test('importierter Vertrag wird gelistet; Word-Button ausgeblendet, PDF bleibt', async ({ page, }) => { skipUnlessMock() await gotoSection(page, de.nav.contracts) await expect(page.getByRole('heading', { name: t.title, exact: true })).toBeVisible() const card = page.locator('.vertrag-card').filter({ hasText: 'Zoohandlung Meier' }) await expect(card).toBeVisible() // Tieranzahl + Preis + Übergabedatum erscheinen in der Meta-Zeile. await expect(card).toContainText(t.animalsCount(1)) await expect(card).toContainText('30,00 €') await expect(card).toContainText('29.09.2023') // PDF-Button vorhanden, Word-Button NICHT (importiert, keine Datei). await expect(card.getByRole('link', { name: t.downloadPdf })).toBeVisible() await expect(card.getByRole('link', { name: t.download, exact: true })).toHaveCount(0) await expect(card.getByText(t.noWordFileShort)).toBeVisible() }) })