. * * 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\ORM; use Espo\Core\Name\Field; use Espo\Entities\Team; use Espo\Modules\Crm\Entities\Account; use tests\integration\Core\BaseTestCase; class EntityTest extends BaseTestCase { public function testLinkMultiple(): void { $em = $this->getEntityManager(); $team1 = $em->createEntity(Team::ENTITY_TYPE); $team2 = $em->createEntity(Team::ENTITY_TYPE); $team3 = $em->createEntity(Team::ENTITY_TYPE); $account = $em->createEntity(Account::ENTITY_TYPE, [ 'teamsIds' => [ $team1->getId(), $team2->getId(), ], ]); $account = $em->getRDBRepositoryByClass(Account::class)->getById($account->getId()); $set = $account->getLinkMultipleIdList(Field::TEAMS); $expected = [$team1->getId(), $team2->getId()]; $this->assertTrue( array_diff($set, $expected) === array_diff($expected, $set) ); // $account = $em->getRDBRepositoryByClass(Account::class)->getById($account->getId()); $account->addLinkMultipleId(Field::TEAMS, $team3->getId()); $set = $account->getFetchedLinkMultipleIdList(Field::TEAMS); $expected = [$team1->getId(), $team2->getId()]; $this->assertTrue( array_diff($set, $expected) === array_diff($expected, $set) ); $set = $account->getLinkMultipleIdList(Field::TEAMS); $expected = [$team1->getId(), $team2->getId(), $team3->getId()]; $this->assertTrue( array_diff($set, $expected) === array_diff($expected, $set) ); // $account = $em->getRDBRepositoryByClass(Account::class)->getById($account->getId()); $set = $account->getFetchedLinkMultipleIdList(Field::TEAMS); $expected = [$team1->getId(), $team2->getId()]; $this->assertTrue( array_diff($set, $expected) === array_diff($expected, $set) ); } }