33 lines
1.6 KiB
PHP
33 lines
1.6 KiB
PHP
<?php
|
||
|
||
declare(strict_types=1);
|
||
|
||
use Fhp\Protocol\Message;
|
||
use Finanzmanager\Services\FinTsEchtzeitUeberweisung;
|
||
|
||
/**
|
||
* Echtzeitüberweisung mit offenem Status (Rückmeldung 3045).
|
||
*
|
||
* Die Antwort stammt aus einem echten Lauf: Die Bank nimmt die TAN an, meldet
|
||
* aber nur „noch keine Rückmeldung zum Status“. Das ist kein Fehler – der
|
||
* Auftrag liegt bei der Bank.
|
||
*/
|
||
class EchtzeitStatusOffenTest extends TestCase
|
||
{
|
||
protected string $testName = 'Test 54: Echtzeitüberweisung – Status offen';
|
||
|
||
private const ANTWORT = <<<'FINTS'
|
||
HNHBK:1:3+000000000620+300+YWPfOjdl96ABAACrZvYFQwSCCgQA+5+YWPfOjdl96ABAACrZvYFQwSCCgQA:5'HNVSK:998:3+PIN:2+998+1+2::6lrfOjdl96ABAACrZvYFQwSCCgQA+1:20261001:143605+2:2:13:@8@00000000:5:1+280:20041111:PRIVATE_:V:0:0+0'HNVSD:999:1+@374@HNSHK:2:4+PIN:2+902+7079006+1+1+2::6lrfOjdl96ABAACrZvYFQwSCCgQA+1+1:20261001:143605+1:999:1+6:10:19+280:20041111:PRIVATE_:S:0:0'HIRMG:3:2+3060::Bitte beachten Sie die enthaltenen Warnungen/Hinweise.'HIRMS:4:2:3+3045::Wir haben leider noch keine Rückmeldung zum Status ihrer Überweisung.'HITAN:5:6:3+2++47017475'HIIPZ:6:1:3+C6592DB8C24247C493F1B27377EC63DA'HNSHA:7:2+7079006''HNHBS:8:1+5'
|
||
FINTS;
|
||
|
||
public function run(): void
|
||
{
|
||
$antwort = Message::parse(mb_convert_encoding(self::ANTWORT, 'ISO-8859-1', 'UTF-8'));
|
||
$aktion = new FinTsEchtzeitUeberweisung();
|
||
|
||
$this->assert(!$aktion->istStatusOffen(), 'Ohne Antwort ist der Status nicht offen');
|
||
|
||
$aktion->processResponse($antwort);
|
||
$this->assert($aktion->istStatusOffen(), 'Rückmeldung 3045 wird als „Status offen“ erkannt, nicht als Fehler');
|
||
}
|
||
}
|