You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
112 lines
2.9 KiB
112 lines
2.9 KiB
<?php
|
|
|
|
namespace Rinsvent\DTO2Data\Tests\Converter;
|
|
|
|
use Rinsvent\DTO2Data\Dto2DataConverter;
|
|
use Rinsvent\DTO2Data\Tests\unit\Converter\fixtures\FillTest\Author;
|
|
use Rinsvent\DTO2Data\Tests\unit\Converter\fixtures\FillTest\Bar;
|
|
use Rinsvent\DTO2Data\Tests\unit\Converter\fixtures\FillTest\BuyRequest;
|
|
use Rinsvent\DTO2Data\Tests\unit\Converter\fixtures\FillTest\HelloRequest;
|
|
use Rinsvent\DTO2Data\Tests\unit\Converter\fixtures\FillTest\UUID;
|
|
|
|
class FillTest extends \Codeception\Test\Unit
|
|
{
|
|
/**
|
|
* @var \UnitTester
|
|
*/
|
|
protected $tester;
|
|
|
|
protected function _before()
|
|
{
|
|
}
|
|
|
|
protected function _after()
|
|
{
|
|
}
|
|
|
|
// tests
|
|
public function testSuccessFillRequestData()
|
|
{
|
|
$dto2DataConverter = new Dto2DataConverter();
|
|
$helloRequest = new HelloRequest;
|
|
$helloRequest->surname = ' asdf';
|
|
$helloRequest->age = 3;
|
|
$helloRequest->emails =[
|
|
'sfdgsa',
|
|
'af234f',
|
|
'asdf33333'
|
|
];
|
|
$author1 = new Author();
|
|
$author1->name = 'Tolkien';
|
|
$author2 = new Author();
|
|
$author2->name = 'Sapkovsky';
|
|
$helloRequest->authors = [
|
|
$author1,
|
|
$author2
|
|
];
|
|
$helloRequest->authors2 = [
|
|
[
|
|
"name" => "Tolkien"
|
|
],
|
|
[
|
|
"name" => "Sapkovsky"
|
|
]
|
|
];
|
|
$helloRequest->authors3 = [
|
|
[
|
|
"name" => "Tolkien"
|
|
],
|
|
[
|
|
"name" => "Sapkovsky"
|
|
]
|
|
];
|
|
$buy = new BuyRequest();
|
|
$buy->phrase = 'Buy buy!!!';
|
|
$buy->length = 10;
|
|
$buy->isFirst = true;
|
|
$helloRequest->buy = $buy;
|
|
$bar = new Bar();
|
|
$bar->barField = 32;
|
|
$helloRequest->bar = $bar;
|
|
$helloRequest->uuid = new UUID('qwerqw-qwerqwe-werqw-qwerqw');
|
|
|
|
$dto = $dto2DataConverter->convert($helloRequest);
|
|
// codecept_debug(json_encode($dto));
|
|
|
|
$this->assertEquals([
|
|
"surname" => "asdf",
|
|
"fake_age" => 3,
|
|
"emails" => [
|
|
"sfdgsa",
|
|
"af234f",
|
|
"asdf33333"
|
|
],
|
|
"authors" => [
|
|
[
|
|
"name" => "Tolkien"
|
|
],
|
|
[
|
|
"name" => "Sapkovsky"
|
|
]
|
|
],
|
|
"authors2" => [
|
|
[
|
|
"name" => "Tolkien"
|
|
],
|
|
[
|
|
"name" => "Sapkovsky"
|
|
]
|
|
],
|
|
"authors3" => [],
|
|
"buy" => [
|
|
"phrase" => "Buy buy!!!",
|
|
"length" => 10,
|
|
"isFirst" => true
|
|
],
|
|
"bar" => [
|
|
"barField" => 32
|
|
],
|
|
'uuid' => 'qwerqw-qwerqwe-werqw-qwerqw'
|
|
], $dto);
|
|
}
|
|
}
|
|
|