2019-06-21 16:42:04 +03:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
|
|
|
* PHP version 7.0
|
|
|
|
*
|
|
|
|
* Upload file 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\Response\FullFileResponse;
|
|
|
|
use RetailCrm\Mg\Bot\Model\Response\UploadFileResponse;
|
|
|
|
use RetailCrm\Mg\Bot\Test\TestCase;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* PHP version 7.0
|
|
|
|
*
|
|
|
|
* Class UploadFileTest
|
|
|
|
*
|
2019-09-30 17:02:48 +03:00
|
|
|
* @package RetailCrm\Mg\Bot\Tests
|
2019-06-21 16:42:04 +03:00
|
|
|
* @author retailCRM <integration@retailcrm.ru>
|
|
|
|
* @license https://opensource.org/licenses/MIT MIT License
|
|
|
|
* @link http://help.retailcrm.pro/docs/Developers
|
|
|
|
*/
|
|
|
|
class FileTest extends TestCase
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* @group("upload")
|
|
|
|
* @throws \Exception
|
|
|
|
*/
|
|
|
|
public function testUploadFileByUrlException()
|
|
|
|
{
|
|
|
|
$client = self::getApiClient(
|
|
|
|
null,
|
|
|
|
null,
|
|
|
|
false,
|
|
|
|
$this->getEmptyResponse(400)
|
|
|
|
);
|
|
|
|
|
|
|
|
self::expectException(\InvalidArgumentException::class);
|
|
|
|
$client->uploadFileByUrl('');
|
|
|
|
$client->uploadFileByUrl('rar');
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @group("upload")
|
|
|
|
* @throws \Exception
|
|
|
|
*/
|
|
|
|
public function testUploadFileByUrl()
|
|
|
|
{
|
|
|
|
$client = self::getApiClient(
|
|
|
|
null,
|
|
|
|
null,
|
|
|
|
false,
|
|
|
|
$this->getResponse('{"id":"881712bb-4062-4973-9e23-3373135836e2","type":"image","size":3773}')
|
|
|
|
);
|
|
|
|
|
|
|
|
$response = $client->uploadFileByUrl('https://2ip.ru/images/logo.gif');
|
|
|
|
|
|
|
|
self::assertTrue($response->isSuccessful());
|
|
|
|
self::assertEquals('881712bb-4062-4973-9e23-3373135836e2', $response->getId());
|
|
|
|
self::assertEquals('image', $response->getType());
|
|
|
|
self::assertEquals('3773', $response->getSize());
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @group("upload")
|
|
|
|
* @throws \Exception
|
|
|
|
*/
|
|
|
|
public function testUploadFileViaForm()
|
|
|
|
{
|
|
|
|
$client = self::getApiClient(
|
|
|
|
null,
|
|
|
|
null,
|
|
|
|
false,
|
|
|
|
$this->getResponse('{"id":"b2bdba90-166c-4e0a-829d-69f26a09fd2a","type":"file","size":214}')
|
|
|
|
);
|
|
|
|
|
|
|
|
$response = $client->uploadFile(__FILE__);
|
|
|
|
|
2019-10-23 21:35:21 +03:00
|
|
|
self::assertInstanceOf(UploadFileResponse::class, $response);
|
2019-06-21 16:42:04 +03:00
|
|
|
self::assertEquals('b2bdba90-166c-4e0a-829d-69f26a09fd2a', $response->getId());
|
|
|
|
self::assertEquals('file', $response->getType());
|
|
|
|
self::assertEquals(214, $response->getSize());
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @group("upload")
|
|
|
|
* @throws \Exception
|
|
|
|
*/
|
|
|
|
public function testGetFileById()
|
|
|
|
{
|
|
|
|
$fileId = 'b2bdba90-166c-4e0a-829d-69f26a09fd2a';
|
|
|
|
$client = self::getApiClient(
|
|
|
|
null,
|
|
|
|
null,
|
|
|
|
false,
|
|
|
|
$this->getJsonResponse('getFile')
|
|
|
|
);
|
|
|
|
|
|
|
|
$response = $client->getFileById($fileId);
|
|
|
|
|
2019-10-23 21:35:21 +03:00
|
|
|
self::assertInstanceOf(FullFileResponse::class, $response);
|
2019-06-21 16:42:04 +03:00
|
|
|
self::assertEquals($fileId, $response->getId());
|
|
|
|
}
|
|
|
|
}
|