/** FEAT-14b: Charakterbogen — Eigenschaft umschalten, persistieren, im Abgabe-Komposer wiederfinden. */
import { de, expect, skipUnlessMock, test } from './fixtures'

test('Charakterbogen: Eigenschaft umschalten, speichern und im Abgabe-Komposer wiederfinden', async ({
  page,
}) => {
  skipUnlessMock()
  await page.goto('/rennmaeuse/kruemel')
  await expect(page.getByRole('heading', { name: 'Krümel' })).toBeVisible()
  await expect(page.getByText(de.character.sectionTitle)).toBeVisible()

  // Eigenschaft 'neugierig' aktivieren und speichern.
  await page.getByRole('checkbox', { name: 'neugierig' }).check()
  await page.getByRole('button', { name: de.character.save }).click()
  await expect(page.getByRole('checkbox', { name: 'neugierig' })).toBeChecked()

  // Tier zur Abgabe stellen -> erscheint im /abgabe-Komposer mit gesetzter Eigenschaft.
  await page.getByRole('button', { name: de.pages.abgabe.markAction }).click()
  await page.goto('/abgabe')
  // Auf Krümels Tier-Abschnitt eingrenzen — andere ForSale-Tiere haben ebenfalls
  // Charakterbögen, deshalb darf die Assertion nicht seitenbreit nach 'neugierig' suchen.
  const kruemelSection = page.locator('.group-composer__animal').filter({
    has: page.locator('strong', { hasText: 'Krümel' }),
  })
  await expect(kruemelSection.getByRole('checkbox', { name: 'neugierig' })).toBeChecked()
})
