diff --git a/lib/RetailCrm/Response/ApiResponse.php b/lib/RetailCrm/Response/ApiResponse.php index 70c145a..9b170b3 100644 --- a/lib/RetailCrm/Response/ApiResponse.php +++ b/lib/RetailCrm/Response/ApiResponse.php @@ -121,6 +121,18 @@ class ApiResponse implements \ArrayAccess return $this->response[$name]; } + /** + * Allow to check if the property exists through object property + * + * @param string $name property name + * + * @return bool + */ + public function __isset($name) + { + return isset($this->response[$name]); + } + /** * Offset set * diff --git a/tests/RetailCrm/Tests/Response/ApiResponseTest.php b/tests/RetailCrm/Tests/Response/ApiResponseTest.php index 74e0fab..31123f5 100644 --- a/tests/RetailCrm/Tests/Response/ApiResponseTest.php +++ b/tests/RetailCrm/Tests/Response/ApiResponseTest.php @@ -230,4 +230,22 @@ class ApiResponseTest extends TestCase $response = new ApiResponse(201, '{ "success": true }'); unset($response['sssssssuccess']); } + + /** + * @group unit + */ + public function testMagicIsset() + { + $response = new ApiResponse(201, '{ "success": true }'); + + $this->assertTrue( + isset($response->success), + 'Response object returns property existing' + ); + + $this->assertFalse( + isset($response->suess), + 'Response object returns property existing' + ); + } }