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>
37 lines
1.5 KiB
JavaScript
37 lines
1.5 KiB
JavaScript
// @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)
|
||
})
|
||
})
|