From 449d6a6fcd9169bd9c9b9cd4d59b59e452aae9b4 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Wed, 21 Feb 2024 13:35:44 +0200 Subject: [PATCH] update test --- tests/integration/Espo/Record/UpdateTest.php | 61 ++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 tests/integration/Espo/Record/UpdateTest.php diff --git a/tests/integration/Espo/Record/UpdateTest.php b/tests/integration/Espo/Record/UpdateTest.php new file mode 100644 index 0000000000..17b953e4f4 --- /dev/null +++ b/tests/integration/Espo/Record/UpdateTest.php @@ -0,0 +1,61 @@ +. + * + * The interactive user interfaces in modified source and object code versions + * of this program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU Affero General Public License version 3. + * + * In accordance with Section 7(b) of the GNU Affero General Public License version 3, + * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. + ************************************************************************/ + +namespace tests\integration\Espo\Record; + +use Espo\Core\Record\ServiceContainer; +use Espo\Core\Record\UpdateParams; +use Espo\Modules\Crm\Entities\Account; +use Espo\Modules\Crm\Entities\Contact; +use tests\integration\Core\BaseTestCase; + +class UpdateTest extends BaseTestCase +{ + public function testUpdateForeign(): void + { + $service = $this->getContainer() + ->getByClass(ServiceContainer::class) + ->getByClass(Contact::class); + + $em = $this->getEntityManager(); + + $account1 = $em->createEntity(Account::ENTITY_TYPE, ['type' => Account::TYPE_CUSTOMER]); + $account2 = $em->createEntity(Account::ENTITY_TYPE, ['type' => Account::TYPE_PARTNER]); + $contact = $em->createEntity(Contact::ENTITY_TYPE, ['accountId' => $account1->getId()]); + + /** @noinspection PhpUnhandledExceptionInspection */ + $contact = $service->update( + $contact->getId(), + (object) ['accountId' => $account2->getId()], + UpdateParams::create() + ); + + $this->assertEquals(Account::TYPE_PARTNER, $contact->get('accountType')); + } +}