/**
 * 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()
  })
})
