From 8a51994db894340df6de881398e3bba9cb1bc990 Mon Sep 17 00:00:00 2001 From: dinamiko Date: Thu, 2 Jun 2022 11:33:07 +0200 Subject: [PATCH 1/2] Do not throw but set empty string when no country code is received --- modules/ppcp-api-client/src/Factory/AddressFactory.php | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/modules/ppcp-api-client/src/Factory/AddressFactory.php b/modules/ppcp-api-client/src/Factory/AddressFactory.php index a996b9ce7..d610c56ad 100644 --- a/modules/ppcp-api-client/src/Factory/AddressFactory.php +++ b/modules/ppcp-api-client/src/Factory/AddressFactory.php @@ -69,13 +69,8 @@ class AddressFactory { * @throws RuntimeException When JSON object is malformed. */ public function from_paypal_response( \stdClass $data ): Address { - if ( ! isset( $data->country_code ) ) { - throw new RuntimeException( - __( 'No country given for address.', 'woocommerce-paypal-payments' ) - ); - } return new Address( - $data->country_code, + ( isset( $data->country_code ) ) ? $data->country_code : '', ( isset( $data->address_line_1 ) ) ? $data->address_line_1 : '', ( isset( $data->address_line_2 ) ) ? $data->address_line_2 : '', ( isset( $data->admin_area_1 ) ) ? $data->admin_area_1 : '', From 062c08f19fa40a0d0ea5066e32914d62ec00311f Mon Sep 17 00:00:00 2001 From: dinamiko Date: Thu, 2 Jun 2022 11:37:53 +0200 Subject: [PATCH 2/2] Remove unit test --- .../ApiClient/Factory/AddressFactoryTest.php | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/tests/PHPUnit/ApiClient/Factory/AddressFactoryTest.php b/tests/PHPUnit/ApiClient/Factory/AddressFactoryTest.php index 81f8146fd..a47ec7d13 100644 --- a/tests/PHPUnit/ApiClient/Factory/AddressFactoryTest.php +++ b/tests/PHPUnit/ApiClient/Factory/AddressFactoryTest.php @@ -127,21 +127,6 @@ class AddressFactoryTest extends TestCase $this->assertEquals($expectedPostalCode, $result->postal_code()); } - public function testFromPayPalRequestThrowsError() - { - $testee = new AddressFactory(); - - $data = (object) [ - 'address_line_1' => 'shipping_address_1', - 'address_line_2' => 'shipping_address_2', - 'admin_area_1' => 'shipping_admin_area_1', - 'admin_area_2' => 'shipping_admin_area_2', - 'postal_code' => 'shipping_postcode', - ]; - $this->expectException(RuntimeException::class); - $testee->from_paypal_response($data); - } - public function dataFromPayPalRequest() : array { return [