1
0
mirror of synced 2024-11-26 13:26:03 +03:00
mg-bot-api-client-php/tests/Bot/Tests/MessagesTest.php
2019-07-16 15:20:56 +03:00

172 lines
4.1 KiB
PHP

<?php
/**
* PHP version 7.0
*
* Messages 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 RetailCrm\Mg\Bot\Model\Constants;
use RetailCrm\Mg\Bot\Model\Request\MessageEditRequest;
use RetailCrm\Mg\Bot\Model\Request\MessageSendRequest;
use RetailCrm\Mg\Bot\Test\TestCase;
/**
* PHP version 7.0
*
* Class MessagesTest
*
* @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 MessagesTest extends TestCase
{
/**
* @group("messages")
* @throws \Exception
*/
public function testMessageSendError()
{
$this->expectException(\RuntimeException::class);
$client = self::getApiClient(
null,
null,
false,
$this->getErrorsResponse(
400,
'chat_id is a required field'
)
);
$request = new MessageSendRequest();
$request->setChatId(0);
$request->setScope(Constants::MESSAGE_SCOPE_PUBLIC);
$request->setContent("Hello");
$client->messageSend($request);
}
/**
* @group("messages")
* @throws \Exception
*/
public function testMessageSend()
{
$client = self::getApiClient(
null,
null,
false,
$this->getResponse(
'{"message_id":3636,"time":"2019-06-24T06:02:04.434291791Z"}',
201
)
);
$request = new MessageSendRequest();
$request->setChatId(28);
$request->setScope(Constants::MESSAGE_SCOPE_PUBLIC);
$request->setContent("Hello");
$response = $client->messageSend($request);
self::assertTrue($response->isSuccessful());
self::assertEquals(0, count($response->getErrors()));
self::assertEquals(3636, $response->getMessageId());
}
/**
* @group("messages")
* @throws \Exception
*/
public function testMessageEditError()
{
$this->expectException(\RuntimeException::class);
$client = self::getApiClient(
null,
null,
false,
$this->getErrorsResponse(
400,
'Incorrect message_id'
)
);
$request = new MessageEditRequest();
$request->setId(0);
$request->setContent("Hello");
$client->messageEdit($request);
}
/**
* @group("messages")
* @throws \Exception
*/
public function testMessageEdit()
{
$client = self::getApiClient(
null,
null,
false,
$this->getResponse('{}', 200)
);
$request = new MessageEditRequest();
$request->setId(3636);
$request->setContent("123");
$response = $client->messageEdit($request);
self::assertTrue($response->isSuccessful());
self::assertEquals(0, count($response->getErrors()));
}
/**
* @group("messages")
* @throws \Exception
*/
public function testMessageDeleteError()
{
$this->expectException(\RuntimeException::class);
$client = self::getApiClient(
null,
null,
false,
$this->getErrorsResponse(
400,
'Incorrect message_id'
)
);
$client->messageDelete('0');
}
/**
* @group("messages")
* @throws \Exception
*/
public function testMessageDelete()
{
$client = self::getApiClient(
null,
null,
false,
$this->getResponse('{}', 200)
);
$response = $client->messageDelete('3636');
self::assertTrue($response->isSuccessful());
self::assertEquals(0, count($response->getErrors()));
}
}