1
0
Fork 0
mirror of synced 2025-04-20 01:21:01 +00:00

fix annotation, complete test for customer builder

This commit is contained in:
Pavel 2020-07-29 18:14:53 +03:00
parent c02c1ff032
commit 3814d0f612
2 changed files with 20 additions and 1 deletions

View file

@ -153,7 +153,7 @@ class Customer extends AbstractApiModel
/**
* Телефоны
*
* @var array $phones
* @var \Intaro\RetailCrm\Model\Api\Phone[] $phones
*
* @Mapping\Type("array<Intaro\RetailCrm\Model\Api\Phone>")
* @Mapping\SerializedName("phones")

View file

@ -5,8 +5,11 @@ namespace Tests\Intaro\RetailCrm\Component\Builder\Api;
use Bitrix\Main\Type\DateTime;
use Intaro\RetailCrm\Component\Builder\Api\CustomerBuilder;
use Intaro\RetailCrm\Component\ConfigProvider;
use Intaro\RetailCrm\Component\Converter\DateTimeConverter;
use Intaro\RetailCrm\Model\Api\Address;
use Intaro\RetailCrm\Model\Api\Customer;
use Intaro\RetailCrm\Model\Bitrix\User;
use PHPUnit\Framework\Constraint\IsType;
use PHPUnit\Framework\TestCase;
class CustomerBuilderTest extends TestCase
@ -30,6 +33,8 @@ class CustomerBuilderTest extends TestCase
{
$this->assertTrue($entity instanceof User);
$_COOKIE['_rc'] = 'rcCookie';
$builder = new CustomerBuilder();
$result = $builder
->setPersonTypeId('individual')
@ -39,6 +44,20 @@ class CustomerBuilderTest extends TestCase
$this->assertTrue($result instanceof Customer);
$this->assertEquals($entity->getId(), $result->externalId);
$this->assertEquals($entity->getEmail(), $result->email);
$this->assertEquals(DateTimeConverter::bitrixToPhp($entity->getDateRegister()), $result->createdAt);
$this->assertFalse($result->subscribed);
$this->assertEquals($entity->getName(), $result->firstName);
$this->assertEquals($entity->getLastName(), $result->lastName);
$this->assertEquals($entity->getSecondName(), $result->patronymic);
$this->assertCount(2, $result->phones);
$this->assertEquals($entity->getPersonalPhone(), $result->phones[0]->number);
$this->assertEquals($entity->getWorkPhone(), $result->phones[1]->number);
$this->assertThat($result->address, new IsType(Address::class));
$this->assertEquals($entity->getPersonalCity(), $result->address->city);
$this->assertEquals($entity->getPersonalStreet(), $result->address->text);
$this->assertEquals($entity->getPersonalZip(), $result->address->index);
$this->assertEquals($_COOKIE['_rc'], $result->browserId);
}
/**