Merge pull request #50 from devalex86/api-group-methods
Added availlableVersions() and credentials()
This commit is contained in:
commit
c6c5f737bd
30
lib/RetailCrm/Client/AbstractLoader.php
Normal file → Executable file
30
lib/RetailCrm/Client/AbstractLoader.php
Normal file → Executable file
@ -31,6 +31,7 @@ abstract class AbstractLoader
|
||||
{
|
||||
protected $siteCode;
|
||||
protected $client;
|
||||
protected $crmUrl;
|
||||
|
||||
/**
|
||||
* Init version based client
|
||||
@ -45,6 +46,7 @@ abstract class AbstractLoader
|
||||
if ('/' !== $url[strlen($url) - 1]) {
|
||||
$url .= '/';
|
||||
}
|
||||
$this->crmUrl = $url;
|
||||
|
||||
if (empty($version) || !in_array($version, ['v3', 'v4', 'v5'])) {
|
||||
throw new \InvalidArgumentException(
|
||||
@ -128,5 +130,33 @@ abstract class AbstractLoader
|
||||
return $this->siteCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getting the list of available api versions
|
||||
*
|
||||
* @return \RetailCrm\Response\ApiResponse
|
||||
*/
|
||||
public function availableVersions()
|
||||
{
|
||||
return $this->client->makeRequest(
|
||||
$this->crmUrl . 'api/api-versions',
|
||||
"GET",
|
||||
[],
|
||||
true
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getting the list of available api methods and stores for current key
|
||||
*
|
||||
* @return \RetailCrm\Response\ApiResponse
|
||||
*/
|
||||
public function credentials()
|
||||
{
|
||||
return $this->client->makeRequest(
|
||||
$this->crmUrl . 'api/credentials',
|
||||
"GET",
|
||||
[],
|
||||
true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
6
lib/RetailCrm/Http/Client.php
Normal file → Executable file
6
lib/RetailCrm/Http/Client.php
Normal file → Executable file
@ -63,6 +63,7 @@ class Client
|
||||
* @param string $path request url
|
||||
* @param string $method (default: 'GET')
|
||||
* @param array $parameters (default: array())
|
||||
* @param bool $fullPath (default: false)
|
||||
*
|
||||
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
|
||||
*
|
||||
@ -75,7 +76,8 @@ class Client
|
||||
public function makeRequest(
|
||||
$path,
|
||||
$method,
|
||||
array $parameters = []
|
||||
array $parameters = [],
|
||||
$fullPath = false
|
||||
) {
|
||||
$allowedMethods = [self::METHOD_GET, self::METHOD_POST];
|
||||
|
||||
@ -91,7 +93,7 @@ class Client
|
||||
|
||||
$parameters = array_merge($this->defaultParameters, $parameters);
|
||||
|
||||
$url = $this->url . $path;
|
||||
$url = $fullPath ? $path : $this->url . $path;
|
||||
|
||||
if (self::METHOD_GET === $method && count($parameters)) {
|
||||
$url .= '?' . http_build_query($parameters, '', '&');
|
||||
|
57
tests/RetailCrm/Tests/Methods/CommonMethodsTest.php
Executable file
57
tests/RetailCrm/Tests/Methods/CommonMethodsTest.php
Executable file
@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* PHP version 5.4
|
||||
*
|
||||
* API client customers test class
|
||||
*
|
||||
* @category RetailCrm
|
||||
* @package RetailCrm
|
||||
* @author RetailCrm <integration@retailcrm.ru>
|
||||
* @license https://opensource.org/licenses/MIT MIT License
|
||||
* @link http://www.retailcrm.ru/docs/Developers/ApiVersion5
|
||||
*/
|
||||
|
||||
namespace RetailCrm\Tests\Methods;
|
||||
|
||||
use RetailCrm\Test\TestCase;
|
||||
|
||||
/**
|
||||
* Class CommonMethodsTest
|
||||
*
|
||||
* @category RetailCrm
|
||||
* @package RetailCrm
|
||||
* @author RetailCrm <integration@retailcrm.ru>
|
||||
* @license https://opensource.org/licenses/MIT MIT License
|
||||
* @link http://www.retailcrm.ru/docs/Developers/ApiVersion5
|
||||
*/
|
||||
class CommonMethodsTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* @group api_methods
|
||||
*/
|
||||
public function testAvailableVersions()
|
||||
{
|
||||
$client = static::getApiClient();
|
||||
|
||||
$response = $client->request->availableVersions();
|
||||
|
||||
static::assertEquals(200, $response->getStatusCode());
|
||||
static::assertTrue($response->getSuccess());
|
||||
static::assertGreaterThan(0, count($response->getVersions()));
|
||||
}
|
||||
|
||||
/**
|
||||
* @group api_methods
|
||||
*/
|
||||
public function testCredentials()
|
||||
{
|
||||
$client = static::getApiClient();
|
||||
|
||||
$response = $client->request->credentials();
|
||||
|
||||
static::assertEquals(200, $response->getStatusCode());
|
||||
static::assertTrue($response->getSuccess());
|
||||
static::assertGreaterThan(0, count($response->getCredentials()));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user