1
0
mirror of synced 2024-11-26 15:26:08 +03:00
bitrix-module/tests/lib/component/builder/bitrix/CustomerBuilderTest.php

101 lines
3.2 KiB
PHP
Raw Normal View History

<?php
namespace Tests\Intaro\RetailCrm\Component\Builder\Bitrix;
use Intaro\RetailCrm\Component\Builder\Bitrix\CustomerBuilder;
use Intaro\RetailCrm\Component\Json\Deserializer;
use Intaro\RetailCrm\Component\Json\Serializer;
use Intaro\RetailCrm\Model\Api\Customer;
use Intaro\RetailCrm\Model\Api\Phone;
use PHPUnit\Framework\TestCase;
/**
* Class CustomerBuilderTest
*/
class CustomerBuilderTest extends TestCase
{
/**@var CustomerBuilder $customer */
public $customer;
/**@var array $dataCrm */
protected $dataCrm;
public function testCustomerBuild()
{
$this->customer = new CustomerBuilder();
$user = $this->customer
->reset()
->setCustomer($this->getDataBuilder())
->build()
->getResult();
self::assertEquals("mm@mm.mmm", $user->getEmail());
self::assertEquals("mmm", $user->getName());
self::assertEquals("mmm", $user->getLastName());
self::assertEquals("mmm", $user->getSecondName());
self::assertEquals("474747856878", $user->getPersonalPhone());
self::assertEquals("346000", $user->getPersonalZip());
self::assertEquals("Ростов-на-Дону", $user->getPersonalCity());
self::assertEquals("13.05.2020", $user->getPersonalBirthday()->format('d.m.Y'));
self::assertEquals("female", $user->getPersonalGender());
}
/**
* @return Customer
*/
private function getDataBuilder(): Customer
{
$customerArray = [
"type"=>"customer",
"id"=> 20250,
"createdAt"=> "2020-05-13 16:34:54",
"site"=> "bitrix-local",
"marginSumm"=> 0,
"totalSumm"=> 0,
"averageSumm"=> 0,
"ordersCount"=> 0,
"customFields"=> [
"faxcliente"=> "11",
"tipodecliente"=> "11",
],
"personalDiscount"=> 0,
"cumulativeDiscount"=> 0,
"address"=> [
"id"=> 13748,
"index"=> "346000",
"countryIso"=>"RU",
"region"=>"Ростовская область",
"regionId"=> 73,
"city"=> "Ростов-на-Дону",
"cityId"=> 4298,
"cityType"=> "г.",
"street"=> "Большая Садовая",
"streetId"=> 1583457,
"streetType"=>"ул.",
"building"=>"1",
"flat"=> "1",
"floor"=> "1",
"block"=> "1",
"house"=> "1",
"housing"=> "1",
"notes"=> "111",
"text"=>"ул. Большая Садовая, д. 1, стр. 1, корп. 1, кв./офис 1, под. 1, эт. 1, 111",
],
"firstName"=> "mmm",
"lastName"=> "mmm",
"patronymic"=> "mmm",
"sex"=> "female",
"email"=> "mm@mm.mmm",
"phones"=> [
[
"number"=> "474747856878",
]
],
"birthday"=> "2020-05-13",
"create"=> 1
];
return Deserializer::deserializeArray($customerArray, Customer::class);
}
}