1
0
mirror of synced 2024-11-26 15:26:08 +03:00
bitrix-module/tests/classes/general/history/RetailCrmHistory_v5Test.php

78 lines
2.1 KiB
PHP

<?php
/**
* Class RetailCrmHistory_v5Test
*/
class RetailCrmHistory_v5Test extends \BitrixTestCase
{
/**
* setUp method
*/
public function setUp()
{
parent::setUp();
COption::SetOptionString('intaro.retailcrm', 'api_version', 'v5');
CModule::IncludeModule('intaro.retailcrm');
}
public function testSetPasswordUser(): void
{
$customers = $this->getCustomers();
foreach ($customers as $customer) {
$customerBuilder = new CustomerBuilder();
$dbUser = $customer['countRows'];
$registerNewUser = true;
if (!empty($customer['email'])) {
switch ($dbUser) {
case 0:
$login = $customer['email'];
$customerBuilder->setLogin($login);
break;
case 1:
$this->assertContains($customer['id'], [1]);
$registerNewUser = false;
break;
default:
$login = uniqid('user_' . time()) . '@example.com';
$customerBuilder->setLogin($login);
break;
}
}
if ($registerNewUser === true) {
$customerBuilder->buildPassword();
$array = $customerBuilder->getCustomer()->getObjectToArray();
$this->assertNotEmpty($array["PASSWORD"]);
}
}
}
private function getCustomers(): array
{
return [
[
'email' => 'test@test.ru',
'id' => 1,
'countRows' => 1
],
[
'email' => null,
'id' => 2,
'countRows' => 1
],
[
'email' => 'test@test.ru',
'id' => 3,
'countRows' => 2
],
[
'email' => 'test@test.ru',
'id' => 4,
'countRows' => 0
],
];
}
}