feat(gehege): Reinigungszyklus (Maße, Kapazität, letzte/nächste Reinigung)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -25,6 +25,35 @@ test.describe('Becken', () => {
|
||||
await expect(page.getByText(tb.delete.conflict)).toBeVisible()
|
||||
})
|
||||
|
||||
test('Reinigungszyklus: überfälliges Becken zeigt Hinweis + Als gereinigt markieren', async ({ page }) => {
|
||||
skipUnlessMock()
|
||||
await page.goto('/gehege')
|
||||
await page.getByRole('link', { name: /Großbecken/ }).click()
|
||||
await expect(page.getByRole('heading', { name: 'Großbecken' })).toBeVisible()
|
||||
// Maße + Kapazität werden angezeigt
|
||||
await expect(page.getByText('120×50 cm')).toBeVisible()
|
||||
// Reinigung ist überfällig (nextCleaningDate in der Vergangenheit) -> Warn-Hinweis
|
||||
await expect(page.getByText(/Reinigung fällig/)).toBeVisible()
|
||||
// Als gereinigt markieren -> letzte Reinigung = heute, Hinweis verschwindet
|
||||
await page.getByRole('button', { name: tb.cleaning.markCleaned }).click()
|
||||
await expect(page.getByText(/Reinigung fällig/)).toBeHidden()
|
||||
})
|
||||
|
||||
test('Reinigungszyklus: Becken mit Zyklus anlegen zeigt nächste Reinigung', async ({ page }) => {
|
||||
await gotoSection(page, de.nav.enclosures)
|
||||
await page.getByRole('link', { name: tb.newButton }).click()
|
||||
const name = uniqueName('Zyklusbecken')
|
||||
await page.getByLabel(`${tb.fields.name} *`).fill(name)
|
||||
await page.getByLabel(tb.fields.size).fill('60×40 cm')
|
||||
await page.getByLabel(tb.fields.capacity).fill('4')
|
||||
await page.getByLabel(tb.fields.lastCleanedDate).fill('2026-06-01')
|
||||
await page.getByLabel(tb.fields.cleaningCycleDays).fill('14')
|
||||
await page.getByRole('button', { name: tb.form.save, exact: true }).click()
|
||||
await expect(page.getByRole('heading', { name })).toBeVisible()
|
||||
// nächste Reinigung = 2026-06-01 + 14 Tage = 15.06.2026 (in der def-list-Zeile)
|
||||
await expect(page.getByText('15.06.2026', { exact: true })).toBeVisible()
|
||||
})
|
||||
|
||||
test('Becken anlegen, bearbeiten und (leer) löschen', async ({ page }) => {
|
||||
await gotoSection(page, de.nav.enclosures)
|
||||
await page.getByRole('link', { name: tb.newButton }).click()
|
||||
|
||||
Reference in New Issue
Block a user