diff --git a/README.md b/README.md index d8bab15..b352208 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Use [API documentation](http://retailcrm.github.io/api-client-php) 2) Run into your project directory: ```bash -composer require retailcrm/api-client-php ~4.0.0 --no-dev +composer require retailcrm/api-client-php 4.* --no-dev ``` If you have not used `composer` before, include autoloader into your project. diff --git a/README.ru.md b/README.ru.md index 369d52f..c262ab0 100644 --- a/README.ru.md +++ b/README.ru.md @@ -15,7 +15,7 @@ PHP-клиент для работы с [retailCRM API](http://www.retailcrm.ru/ 2) Выполните в папке проекта: ```bash -composer require retailcrm/api-client-php ~4.0.0 --no-dev +composer require retailcrm/api-client-php 4.* --no-dev ``` В конфиг `composer.json` вашего проекта будет добавлена библиотека `retailcrm/api-client-php`, которая установится в папку `vendor/`. При отсутствии файла конфига или папки с вендорами они будут созданы. diff --git a/composer.json b/composer.json index 90f4b93..8fa0434 100644 --- a/composer.json +++ b/composer.json @@ -16,6 +16,9 @@ "ext-curl": "*", "phpunit/phpunit": "4.8.29" }, + "require-dev": { + "phpunit/phpunit": "4.8.29" + }, "support": { "email": "support@retailcrm.pro" }, diff --git a/lib/RetailCrm/Response/ApiResponse.php b/lib/RetailCrm/Response/ApiResponse.php index 6959f2c..03ecb82 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/ApiClientOrdersTest.php b/tests/RetailCrm/Tests/ApiClientOrdersTest.php index e844bf6..2345a0a 100644 --- a/tests/RetailCrm/Tests/ApiClientOrdersTest.php +++ b/tests/RetailCrm/Tests/ApiClientOrdersTest.php @@ -241,7 +241,7 @@ class ApiClientOrdersTest extends TestCase /** * @group orders -] */ + */ public function testOrdersFixExternalIds() { $client = static::getApiClient(); diff --git a/tests/RetailCrm/Tests/Response/ApiResponseTest.php b/tests/RetailCrm/Tests/Response/ApiResponseTest.php index 470fd17..43e9f1b 100644 --- a/tests/RetailCrm/Tests/Response/ApiResponseTest.php +++ b/tests/RetailCrm/Tests/Response/ApiResponseTest.php @@ -251,4 +251,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' + ); + } }