1
0
mirror of synced 2024-11-21 20:46:03 +03:00

немного тестов

This commit is contained in:
Alexey Chelnakov 2018-06-22 09:21:30 +03:00
parent 88ab0a8e81
commit e6aea87d1e
7 changed files with 78 additions and 4 deletions

13
bootstrap.php Normal file
View File

@ -0,0 +1,13 @@
<?php
use Composer\Autoload\ClassLoader;
use Doctrine\Common\Annotations\AnnotationRegistry;
/**
* @var ClassLoader $loader
*/
$loader = require __DIR__.'/vendor/autoload.php';
AnnotationRegistry::registerLoader('class_exists');
return $loader;

View File

@ -11,7 +11,7 @@
processIsolation = "true"
stopOnFailure = "false"
syntaxCheck = "false"
bootstrap = "vendor/autoload.php" >
bootstrap = "bootstrap.php" >
<testsuites>

View File

@ -27,6 +27,10 @@ class AtolOnline
return new Configuration();
}
/**
* @param $response
* @return OperationResponse
*/
public function deserializeOperationResponse($response)
{
return $this->serializer->deserialize(
@ -37,6 +41,10 @@ class AtolOnline
);
}
/**
* @param $response
* @return OperationResponse
*/
public function deserializeCheckStatusResponse($response)
{
return $this->serializer->deserialize(
@ -47,6 +55,10 @@ class AtolOnline
);
}
/**
* @param $request
* @return mixed|string
*/
public function serializeOperationRequest($request)
{
return $this->serializer->serialize(

View File

@ -8,6 +8,7 @@ class OperationResponse
{
/**
* Поле отсутсвует в ответе а операцию sell с ошибкой начиная с 4й версии
* @var string
*
* @Serializer\Groups({"post", "get"})
@ -91,8 +92,6 @@ class OperationResponse
*/
private $callbackUrl;
/**
* @return string
*/

View File

@ -4,6 +4,7 @@ namespace AtolOnlineClient\Tests;
use AtolOnlineClient\AtolOnline;
use AtolOnlineClient\Configuration;
use AtolOnlineClient\Response\OperationResponse;
use PHPUnit\Framework\TestCase;
class AtolOnlineTest extends TestCase
@ -14,4 +15,32 @@ class AtolOnlineTest extends TestCase
$atol = new AtolOnline();
$this->assertInstanceOf(Configuration::class, $atol->createConfiguration());
}
}
/**
* @dataProvider dataSellErrorResponse
*/
public function testDeserializeOperationResponse($file)
{
$response = file_get_contents(__DIR__ . '/data/'. $file);
$atol = new AtolOnline();
$operationResponse = $atol->deserializeOperationResponse($response);
$this->assertInstanceOf(OperationResponse::class, $operationResponse);
$this->assertEquals('12.04.2017 06:15:06', $operationResponse->getTimestamp());
$this->assertEquals('fail', $operationResponse->getStatus());
$this->assertEquals(30, $operationResponse->getError()->getCode());
$this->assertEquals('system', $operationResponse->getError()->getType());
$this->assertEquals(
' Передан некорректный UUID : "{0}". Необходимо повторить запрос с корректными данными ',
$operationResponse->getError()->getText()
);
}
public function dataSellErrorResponse()
{
return [
['sell_error_response_v3.json'],
['sell_error_response_v3.json']
];
}
}

View File

@ -0,0 +1,11 @@
{
"uuid": "4355",
"timestamp": "12.04.2017 06:15:06",
"status": "fail",
"error": {
"error_id": "475d6d8d-844d-4d05-aa8b-e3dbdf4defd6",
"code": 30,
"text": " Передан некорректный UUID : \"{0}\". Необходимо повторить запрос с корректными данными ",
"type": "system"
}
}

View File

@ -0,0 +1,10 @@
{
"timestamp": "12.04.2017 06:15:06",
"status": "fail",
"error": {
"error_id": "475d6d8d-844d-4d05-aa8b-e3dbdf4defd6",
"code": 30,
"text": " Передан некорректный UUID : \"{0}\". Необходимо повторить запрос с корректными данными ",
"type": "system"
}
}