diff --git a/src/Response/ConfirmationResult.php b/src/Response/ConfirmationResult.php index 2411b00..605dc07 100644 --- a/src/Response/ConfirmationResult.php +++ b/src/Response/ConfirmationResult.php @@ -15,14 +15,10 @@ public function __construct( public readonly ?string $id = null, public readonly ?string $validFrom = null, public readonly ?string $validUntil = null, - public readonly ?string $companyName = null, - public readonly ?string $street = null, - public readonly ?string $postalCode = null, - public readonly ?string $city = null, - public readonly ?ComparisonResult $companyNameResult = null, - public readonly ?ComparisonResult $streetResult = null, - public readonly ?ComparisonResult $postalCodeResult = null, - public readonly ?ComparisonResult $cityResult = null, + public readonly ?ComparisonResult $companyName = null, + public readonly ?ComparisonResult $street = null, + public readonly ?ComparisonResult $postalCode = null, + public readonly ?ComparisonResult $city = null, ) {} /** @@ -36,14 +32,10 @@ public static function fromArray(array $data): self id: $data['id'] ?? null, validFrom: $data['gueltigAb'] ?? null, validUntil: $data['gueltigBis'] ?? null, - companyName: $data['ergFirmenname'] ?? null, - street: $data['ergStrasse'] ?? null, - postalCode: $data['ergPlz'] ?? null, - city: $data['ergOrt'] ?? null, - companyNameResult: isset($data['ergFirmennameResult']) ? ComparisonResult::from($data['ergFirmennameResult']) : null, - streetResult: isset($data['ergStrasseResult']) ? ComparisonResult::from($data['ergStrasseResult']) : null, - postalCodeResult: isset($data['ergPlzResult']) ? ComparisonResult::from($data['ergPlzResult']) : null, - cityResult: isset($data['ergOrtResult']) ? ComparisonResult::from($data['ergOrtResult']) : null, + companyName: isset($data['ergFirmenname']) ? ComparisonResult::tryFrom($data['ergFirmenname']) : null, + street: isset($data['ergStrasse']) ? ComparisonResult::tryFrom($data['ergStrasse']) : null, + postalCode: isset($data['ergPlz']) ? ComparisonResult::tryFrom($data['ergPlz']) : null, + city: isset($data['ergOrt']) ? ComparisonResult::tryFrom($data['ergOrt']) : null, ); } diff --git a/tests/EvatrClientTest.php b/tests/EvatrClientTest.php index 0b05bbf..5a8d639 100644 --- a/tests/EvatrClientTest.php +++ b/tests/EvatrClientTest.php @@ -58,14 +58,10 @@ public function testQualifiedQueryReturnsComparisonResults(): void new Response(200, ['Content-Type' => 'application/json'], json_encode([ 'status' => 'evatr-0000', 'anfrageZeitpunkt' => '2026-02-17T10:00:00Z', - 'ergFirmenname' => 'Test GmbH', - 'ergOrt' => 'Berlin', - 'ergStrasse' => 'Teststr. 1', - 'ergPlz' => '10115', - 'ergFirmennameResult' => 'A', - 'ergOrtResult' => 'A', - 'ergStrasseResult' => 'B', - 'ergPlzResult' => 'C', + 'ergFirmenname' => 'A', + 'ergOrt' => 'A', + 'ergStrasse' => 'B', + 'ergPlz' => 'C', ])), ]); @@ -81,11 +77,10 @@ public function testQualifiedQueryReturnsComparisonResults(): void $result = $client->verifyVatId($query); $this->assertSame(StatusCode::VALID, $result->status); - $this->assertSame('Test GmbH', $result->companyName); - $this->assertSame(ComparisonResult::MATCH, $result->companyNameResult); - $this->assertSame(ComparisonResult::MATCH, $result->cityResult); - $this->assertSame(ComparisonResult::MISMATCH, $result->streetResult); - $this->assertSame(ComparisonResult::NOT_REQUESTED, $result->postalCodeResult); + $this->assertSame(ComparisonResult::MATCH, $result->companyName); + $this->assertSame(ComparisonResult::MATCH, $result->city); + $this->assertSame(ComparisonResult::MISMATCH, $result->street); + $this->assertSame(ComparisonResult::NOT_REQUESTED, $result->postalCode); } public function testInvalidVatIdReturnsNonValidResult(): void