From 660702600ba1969b6d9a1a607a69fb79072a17a2 Mon Sep 17 00:00:00 2001 From: Sai Asish Y Date: Sat, 18 Jul 2026 09:38:22 -0700 Subject: [PATCH] Handle null message in PaymentStatusResponse constructor Signed-off-by: Sai Asish Y --- src/Entity/Response/PaymentStatusResponse.php | 2 +- .../Response/PaymentStatusResponseCest.php | 25 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 tests/Unit/Entity/Response/PaymentStatusResponseCest.php diff --git a/src/Entity/Response/PaymentStatusResponse.php b/src/Entity/Response/PaymentStatusResponse.php index b3024e3..b7334c6 100644 --- a/src/Entity/Response/PaymentStatusResponse.php +++ b/src/Entity/Response/PaymentStatusResponse.php @@ -125,7 +125,7 @@ public function __construct(Response $paymentStatusResponse) $parsedResponse = json_decode($paymentStatusResponse->getContent(), true); $code = (int) $parsedResponse['code']; - $message = $parsedResponse['message']; + $message = (string) ($parsedResponse['message'] ?? ''); switch ($code) { case 0: diff --git a/tests/Unit/Entity/Response/PaymentStatusResponseCest.php b/tests/Unit/Entity/Response/PaymentStatusResponseCest.php new file mode 100644 index 0000000..94d0925 --- /dev/null +++ b/tests/Unit/Entity/Response/PaymentStatusResponseCest.php @@ -0,0 +1,25 @@ + '{"code":0,"transId":"AB12-CD34-EF56","status":"PAID","price":"10000","curr":"CZK"}', + ]); + + $response = new PaymentStatusResponse($responseMock); + + $I->assertEquals(0, $response->getCode()); + $I->assertEquals('', $response->getMessage()); + $I->assertEquals('AB12-CD34-EF56', $response->getTransId()); + $I->assertEquals('PAID', $response->getStatus()); + } +}