/** WEB-0b: CMS-Verwaltung der öffentlichen Webseite — Smoke-Test. */ import { de, expect, gotoSection, skipUnlessMock, test } from './fixtures' const t = de.pages.webseite test('Webseiten-Übersicht zeigt die Seiten mit Status', async ({ page }) => { skipUnlessMock() await gotoSection(page, de.nav.website) await expect(page.getByRole('heading', { name: t.title, exact: true })).toBeVisible() const cards = page.locator('.webseite-card') await expect(cards).toHaveCount(6) const start = page.locator('.webseite-card', { hasText: 'Startseite' }) await expect(start.getByText(t.statusPublished, { exact: true })).toBeVisible() }) test('Block hinzufügen, bearbeiten und verschieben bleibt erhalten', async ({ page }) => { skipUnlessMock() await gotoSection(page, de.nav.website) // Startseite öffnen (hat bereits zwei Blöcke). await page .locator('.webseite-card', { hasText: 'Startseite' }) .getByRole('link', { name: t.edit }) .click() await expect(page.getByRole('heading', { name: 'Startseite' })).toBeVisible() const blocks = page.locator('.block-card') await expect(blocks).toHaveCount(2) // Eine Überschrift hinzufügen -> jetzt drei Blöcke. await page.getByRole('button', { name: `+ ${t.blocks.types.Heading}` }).click() await expect(blocks).toHaveCount(3) // Den neuen (letzten) Block beschriften und speichern. const last = blocks.last() await last.getByLabel(t.blocks.fields.headingText).fill('Neue Überschrift') await last.getByRole('button', { name: t.blocks.save }).click() await expect(last.getByText(t.blocks.saved, { exact: true })).toBeVisible() // Den neuen Block nach oben verschieben (von Position 3 auf 2). await last.getByRole('button', { name: t.blocks.moveUp }).click() // Neu laden über die Übersicht — der Mock ist zustandsbehaftet. await page.getByRole('link', { name: t.back }).click() await page .locator('.webseite-card', { hasText: 'Startseite' }) .getByRole('link', { name: t.edit }) .click() // Drei Blöcke, und die neue Überschrift steht jetzt an zweiter Stelle. await expect(page.locator('.block-card')).toHaveCount(3) await expect(page.locator('.block-card').nth(1).getByLabel(t.blocks.fields.headingText)).toHaveValue( 'Neue Überschrift', ) })