Finanzmanager/tests/e2e/specs/neudialog.spec.js
fds2610-bot 932d17c128 Fix n.n.: „+ Neu“ öffnet das Formular zur Neuanlage als modalen Dialog
Elf Listenansichten (Klassen, Buchungsvorlagen, Regelmäßige Buchungen,
Erinnerungen, Verträge, Adressen, Sparziele, Kredite, Abgleichregeln,
Budgets, Berichtsgruppen) zeigten das Formular unter der Liste. Jetzt
öffnet der Knopf „+ Neu“ es als Dialog.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 09:50:08 +02:00

60 lines
1.8 KiB
JavaScript

// @ts-check
const { test, expect } = require('@playwright/test')
const BENUTZER = process.env.E2E_USER || 'e2e'
const PASSWORT = process.env.E2E_PASSWORD || 'e2e-testpasswort'
const MARKE = Date.now().toString().slice(-6)
// Alle Listenansichten, in denen „+ Neu“ ein modales Formular zur Neuanlage öffnet.
const ANSICHTEN = [
'/verwaltung/klassen',
'/vorlagen',
'/termine',
'/termine/erinnerungen',
'/vertraege',
'/vertraege/adressen',
'/vertraege/sparziele',
'/vertraege/kredite',
'/banking/regeln',
'/planung/budget/verwaltung',
'/auswertungen/gruppen',
]
async function anmelden(page) {
await page.goto('/login')
await page.fill('#benutzername', BENUTZER)
await page.fill('#passwort', PASSWORT)
await page.click('button[type="submit"]')
await expect(page).toHaveURL(/\/$/)
}
test.describe('„+ Neu“ öffnet den Dialog zur Neuanlage', () => {
test.beforeEach(async ({ page }) => {
await anmelden(page)
})
for (const pfad of ANSICHTEN) {
test(`${pfad}: Dialog erst nach Klick, Abbrechen schließt ihn`, async ({ page }) => {
await page.goto(pfad)
await expect(page.locator('#neudialog')).toBeHidden()
await page.click('#neu-knopf')
await expect(page.locator('#neudialog')).toBeVisible()
await page.locator('#neudialog button', { hasText: 'Abbrechen' }).click()
await expect(page.locator('#neudialog')).toBeHidden()
})
}
test('Klasse anlegen: Dialog verschwindet, Eintrag steht in der Liste', async ({ page }) => {
const name = `E2E Dialogklasse ${MARKE}`
await page.goto('/verwaltung/klassen')
await page.click('#neu-knopf')
await page.fill('#neudialog #name', name)
await page.locator('#neudialog button[type="submit"]', { hasText: 'Klasse anlegen' }).click()
await expect(page.locator('#neudialog')).toBeHidden()
await expect(page.locator(`input[value="${name}"]`).first()).toBeVisible()
})
})