← Code-Übersicht

InvoiceTextParserTest.php

Pfad: tests/Rechnung/InvoiceTextParserTest.php

Ext: php

Größe: 1108 Bytes

Geändert: 2026-07-16 16:57:10+02

<?php
declare(strict_types=1);

namespace Tests\Rechnung;

use Demo\Infrastructure\Rechnung\InvoiceTextParser;
use PHPUnit\Framework\TestCase;

/**
 * Golden-Master-nahe Feldpruefung fuer den realen WEtell-Aufbau.
 */
final class InvoiceTextParserTest extends TestCase
{
    /** Extrahiert alle belegten Sollwerte aus WEtell-Layouttext. */
    public function testWetellFelderSindFachlichKorrekt(): void
    {
        $text = "Rechnung für Juni 2026 04.07.2026\nRechnungs-Nr.:\nRF183233049809\nBETRAG EXKL. MWST. 26,0504\nGESAMTRECHNUNGSBETRAG INKL. MWST 31,0000\nWEtell GmbH\nPaul-Ehrlich-Straße 7\n79106 Freiburg";
        $data = (new InvoiceTextParser())->parse($text, 0.85);
        self::assertSame('WEtell GmbH', $data->vendorName);
        self::assertSame('RF183233049809', $data->invoiceNumber);
        self::assertSame('2026-07-04', $data->invoiceDate);
        self::assertSame('26.0504', $data->amount->netto);
        self::assertSame('4.9496', $data->amount->steuer);
        self::assertSame('31.0000', $data->amount->brutto);
        self::assertTrue($data->hasRequiredFields());
    }
}