2019-06-10 16:24:22 +03:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
|
|
|
* PHP version 7.0
|
|
|
|
*
|
|
|
|
* Client Test
|
|
|
|
*
|
|
|
|
* @package RetailCrm\Mg\Bot\Tests
|
|
|
|
* @author retailCRM <integration@retailcrm.ru>
|
|
|
|
* @license https://opensource.org/licenses/MIT MIT License
|
|
|
|
* @link http://help.retailcrm.pro/docs/Developers
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace RetailCrm\Mg\Bot\Tests;
|
|
|
|
|
|
|
|
use Exception;
|
|
|
|
use InvalidArgumentException;
|
2019-06-19 12:49:55 +03:00
|
|
|
use RetailCrm\Common\Exception\InvalidJsonException;
|
2019-06-10 16:24:22 +03:00
|
|
|
use RetailCrm\Mg\Bot\Model\Request\CommandEditRequest;
|
2019-06-19 12:49:55 +03:00
|
|
|
use RetailCrm\Mg\Bot\Model\Response\ErrorOnlyResponse;
|
2019-06-10 16:24:22 +03:00
|
|
|
use RetailCrm\Mg\Bot\Test\TestCase;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* PHP version 7.0
|
|
|
|
*
|
|
|
|
* Class ClientTest
|
|
|
|
*
|
|
|
|
* @package RetailCrm\Mg\Bot\Tests
|
|
|
|
* @author retailCRM <integration@retailcrm.ru>
|
|
|
|
* @license https://opensource.org/licenses/MIT MIT License
|
|
|
|
* @link http://help.retailcrm.pro/docs/Developers
|
|
|
|
*/
|
|
|
|
class CommandsTest extends TestCase
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* @group("commands")
|
|
|
|
* @throws \Exception
|
|
|
|
*/
|
|
|
|
public function testCommandEditException()
|
|
|
|
{
|
|
|
|
self::expectException(InvalidArgumentException::class);
|
|
|
|
|
2019-06-19 12:49:55 +03:00
|
|
|
$client = self::getApiClient(
|
|
|
|
null,
|
|
|
|
null,
|
|
|
|
false,
|
|
|
|
$this->getResponse('EOF',400)
|
|
|
|
);
|
2019-06-10 16:24:22 +03:00
|
|
|
|
|
|
|
$request = new CommandEditRequest();
|
|
|
|
$request->setDescription("qwerty");
|
|
|
|
|
|
|
|
$client->commandEdit($request);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @group("commands")
|
|
|
|
* @throws \Exception
|
|
|
|
*/
|
|
|
|
public function testCommandDeleteException()
|
|
|
|
{
|
|
|
|
self::expectException(Exception::class);
|
|
|
|
|
|
|
|
$client = self::getApiClient();
|
|
|
|
|
|
|
|
$request = "qwerty";
|
|
|
|
|
|
|
|
$client->commandDelete($request);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @group("commands")
|
|
|
|
* @throws \Exception
|
|
|
|
*/
|
|
|
|
public function testCommandEdit()
|
|
|
|
{
|
2019-06-19 12:49:55 +03:00
|
|
|
$client = self::getApiClient(
|
|
|
|
null,
|
|
|
|
null,
|
|
|
|
false,
|
|
|
|
$this->getJsonResponse('commandEdit')
|
|
|
|
);
|
2019-06-10 16:24:22 +03:00
|
|
|
|
|
|
|
$request = new CommandEditRequest();
|
|
|
|
$request->setBotId(1);
|
|
|
|
$request->setName("show_payment_types");
|
|
|
|
$request->setDescription("Get available payment types");
|
|
|
|
|
|
|
|
$response = $client->commandEdit($request);
|
|
|
|
|
2019-06-19 12:49:55 +03:00
|
|
|
self::assertTrue($response instanceof ErrorOnlyResponse);
|
|
|
|
self::assertTrue(!$response->isError());
|
2019-06-10 16:24:22 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @group("commands")
|
|
|
|
* @depends testCommandEdit
|
|
|
|
* @throws \Exception
|
|
|
|
*/
|
|
|
|
public function testCommandDelete()
|
|
|
|
{
|
2019-06-19 12:49:55 +03:00
|
|
|
$client = self::getApiClient(
|
|
|
|
null,
|
|
|
|
null,
|
|
|
|
false,
|
|
|
|
$this->getJsonResponse('commandEdit')
|
|
|
|
);
|
2019-06-10 16:24:22 +03:00
|
|
|
|
|
|
|
$response = $client->commandDelete("show_payment_types");
|
|
|
|
|
2019-06-19 12:49:55 +03:00
|
|
|
self::assertTrue($response->isError() == false);
|
2019-06-10 16:24:22 +03:00
|
|
|
}
|
|
|
|
}
|