sanitize foreign fields
This commit is contained in:
@@ -34,6 +34,7 @@ use Espo\Core\Record\ServiceContainer;
|
||||
use Espo\Core\Utils\Config\ConfigWriter;
|
||||
use Espo\Entities\User;
|
||||
use Espo\Modules\Crm\Entities\Account;
|
||||
use Espo\Modules\Crm\Entities\Contact;
|
||||
use Espo\Modules\Crm\Entities\Meeting;
|
||||
use Espo\Modules\Crm\Entities\Opportunity;
|
||||
use Espo\Modules\Crm\Entities\Task;
|
||||
@@ -221,4 +222,28 @@ class SanitizeTest extends BaseTestCase
|
||||
|
||||
$this->assertEquals('2030-12-10', $meeting->get('closeDate'));
|
||||
}
|
||||
|
||||
public function testForeign(): void
|
||||
{
|
||||
$account = $this->getEntityManager()->createEntity(Account::ENTITY_TYPE, [
|
||||
'type' => Account::TYPE_CUSTOMER,
|
||||
]);
|
||||
|
||||
$serviceContainer = $this->getContainer()->getByClass(ServiceContainer::class);
|
||||
|
||||
$contactService = $serviceContainer->getByClass(Contact::class);
|
||||
|
||||
$data = (object) [
|
||||
'lastName' => 'C-1',
|
||||
'accountId' => $account->getId(),
|
||||
];
|
||||
$contactService->sanitizeInput($data);
|
||||
$this->assertEquals(Account::TYPE_CUSTOMER, $data->accountType ?? null);
|
||||
|
||||
$data = (object) [
|
||||
'lastName' => 'C-2',
|
||||
];
|
||||
$contactService->sanitizeInput($data);
|
||||
$this->assertEquals(null, $data->accountType ?? null);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user