1
0
mirror of synced 2024-11-29 16:56:07 +03:00
bitrix-module/tests/lib/component/builder/bitrix/CustomerBuilderTest.php
Neur0toxine 5f69051859
Программа лояльности
* New module structure (refactoring)
* Simple serializer and deserializer with models, new architecture
* Move logic to strategies
* Partial api client facade implementation (full implementation is not necessary for now)
* Loyalty feature installer
* Sms verification order (#167)
* Make updater self-sufficient
* Fix for order submit & fix for incorrect component rendering in the constructor
* Fix for loyalty personal area error handling
* Fix for cart component identity
* Fix for softlock when customer cannot be registered in loyalty

Co-authored-by: Сергей Чазов <45812598+Chazovs@users.noreply.github.com>
Co-authored-by: Sergey Chazov <oitv18@gmail.com>
2021-11-16 10:48:26 +03:00

101 lines
3.2 KiB
PHP
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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);
}
}