Finanzmanager/tests/e2e/specs/echtzeitstatus.spec.js
fds2610-bot 8b245ad769 Fix #113: Echtzeitüberweisung – offenen Status im Hintergrund bei der Bank nachfragen
Meldet die Bank nach der TAN 3045 (noch keine Rückmeldung zum Status),
fragt ein Hintergrundprozess nach der Mindestwartezeit aus HIIPSS per
HKIPS nach (höchstens fünfmal). Ausgeführt wird vermerkt, abgelehnt
entfernt die Buchung; ein verbundener Kontoumsatz klärt den Status
ebenfalls. php-fints-Fork v4.1.7 bringt HKIPS/HIIPS/HIIPSS mit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 15:48:38 +02:00

37 lines
1.5 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// @ts-check
const { test, expect } = require('@playwright/test')
const BENUTZER = process.env.E2E_USER || 'e2e'
const PASSWORT = process.env.E2E_PASSWORT || process.env.E2E_PASSWORD || 'e2e-testpasswort'
// Der Grundbestand (E2EGrundbestand) legt eine Echtzeitüberweisung an, deren
// Ausgang die Bank offen ließ (Rückmeldung 3045, #113). Die Statusabfrage läuft
// im Hintergrund und ist erst in 30 Tagen fällig – es geht keine Anfrage an
// eine Bank.
const EMPFAENGER = 'E2E Grundbestand Verlag'
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('Zahlungsverkehr: Echtzeitüberweisung mit offenem Status', () => {
test.beforeEach(async ({ page }) => {
await anmelden(page)
})
test('Liste zeigt „Ausgang offen“ mit Hinweis auf die Abfrage im Hintergrund, ohne Knopf', async ({ page }) => {
await page.goto('/zahlungsverkehr?status=gesendet')
const zeile = page.locator('table.liste tr', { hasText: EMPFAENGER })
await expect(zeile).toHaveCount(1)
await expect(zeile.locator('[id^="echtzeit-offen-"]')).toHaveText('Ausgang offen')
await expect(zeile.locator('[id^="echtzeit-hinweis-"]')).toContainText('im Hintergrund abgefragt')
await expect(zeile.locator('[id^="echtzeit-hinweis-"]')).toContainText('Nicht erneut senden')
// Gesendet: kein Senden-Knopf, und die Abfrage braucht keinen Knopf.
await expect(zeile.getByRole('button')).toHaveCount(0)
})
})