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

minor changes in tests & AbstractSerializableModel

This commit is contained in:
Pavel 2020-07-31 20:17:52 +03:00
parent 1ec13508c6
commit 5339736e14
2 changed files with 14 additions and 14 deletions

View file

@ -55,15 +55,16 @@ abstract class AbstractSerializableModel
{
$result = null;
$data = $this->serialize();
$baseClass = $this->getBaseClass();
if ($this->isSaveStatic()) {
if (method_exists($this->getBaseClass(), 'Add')) {
$result = call_user_func($this->getBaseClass() . '::Add', $data);
} elseif (method_exists($this->getBaseClass(), 'add')) {
$result = call_user_func($this->getBaseClass() . '::add', $data);
if (method_exists($baseClass, 'Add')) {
$result = call_user_func($baseClass . '::Add', $data);
} elseif (method_exists($baseClass, 'add')) {
$result = call_user_func($baseClass . '::add', $data);
}
} else {
$instance = new $this->getBaseClass();
$instance = new $baseClass();
if (method_exists($instance, 'Add')) {
$result = $instance->Add($data);
@ -89,16 +90,17 @@ abstract class AbstractSerializableModel
public function delete(): Result
{
$result = null;
$baseClass = $this->getBaseClass();
$primary = $this->getPrimaryKeyData();
if ($this->isDeleteStatic()) {
if (method_exists($this->getBaseClass(), 'Delete')) {
$result = call_user_func($this->getBaseClass() . '::Delete', $primary);
} elseif (method_exists($this->getBaseClass(), 'delete')) {
$result = call_user_func($this->getBaseClass() . '::delete', $primary);
if (method_exists($baseClass, 'Delete')) {
$result = call_user_func($baseClass . '::Delete', $primary);
} elseif (method_exists($baseClass, 'delete')) {
$result = call_user_func($baseClass . '::delete', $primary);
}
} else {
$instance = new $this->getBaseClass();
$instance = new $baseClass();
if (method_exists($instance, 'Delete')) {
$result = $instance->Delete($primary);

View file

@ -4,11 +4,9 @@ namespace Tests\Intaro\RetailCrm\Component\Builder\Api;
use Bitrix\Main\Event;
use Bitrix\Main\EventManager;
use Bitrix\Main\Type\DateTime;
use Intaro\RetailCrm\Component\Builder\Api\CustomerBuilder;
use Intaro\RetailCrm\Service\CollectorCookieExtractor;
use Intaro\RetailCrm\Component\Constants;
use Intaro\RetailCrm\Component\Converter\DateTimeConverter;
use Intaro\RetailCrm\Component\Events;
use Intaro\RetailCrm\Component\ServiceLocator;
use Intaro\RetailCrm\Model\Api\Address;
@ -62,7 +60,7 @@ class CustomerBuilderTest extends TestCase
self::assertTrue($result instanceof Customer);
self::assertEquals($entity->getId(), $result->externalId);
self::assertEquals($entity->getEmail(), $result->email);
self::assertEquals(DateTimeConverter::bitrixToPhp($entity->getDateRegister()), $result->createdAt);
self::assertEquals($entity->getDateRegister(), $result->createdAt);
self::assertFalse($result->subscribed);
self::assertEquals($entity->getName(), $result->firstName);
self::assertEquals($entity->getLastName(), $result->lastName);
@ -114,7 +112,7 @@ class CustomerBuilderTest extends TestCase
$entity = new User();
$entity->setId(21);
$entity->setEmail('vovka@narod.ru');
$entity->setDateRegister(DateTime::createFromPhp(new \DateTime()));
$entity->setDateRegister(new \DateTime());
$entity->setName('First');
$entity->setLastName('Last');
$entity->setSecondName('Second');