27 lines
1.3 KiB
TypeScript
27 lines
1.3 KiB
TypeScript
/** 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()
|
|
})
|