Spaces:
No application file
No application file
File size: 2,313 Bytes
d2897cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
<?php
declare(strict_types=1);
namespace Mautic\LeadBundle\Tests\Command;
use Mautic\CoreBundle\Test\MauticMysqlTestCase;
use Mautic\LeadBundle\Command\DeleteContactSecondaryCompaniesCommand;
use Mautic\LeadBundle\Entity\Company;
use Mautic\LeadBundle\Entity\CompanyLead;
use Mautic\LeadBundle\Entity\CompanyLeadRepository;
use Mautic\LeadBundle\Entity\Lead;
use Mautic\LeadBundle\Model\LeadModel;
final class DeleteContactSecondaryCompaniesCommandTest extends MauticMysqlTestCase
{
protected $useCleanupRollback = false;
public function testDeleteContactSecondaryCompanies(): void
{
$contact = $this->getContactWithCompanies();
/** @var CompanyLeadRepository $companyLeadRepo */
$companyLeadRepo = $this->em->getRepository(CompanyLead::class);
$contactCompanies = $companyLeadRepo->getCompaniesByLeadId($contact->getId());
self::assertEquals(2, count($contactCompanies));
$this->testSymfonyCommand(DeleteContactSecondaryCompaniesCommand::NAME);
$contactCompanies = $companyLeadRepo->getCompaniesByLeadId($contact->getId());
self::assertEquals(2, count($contactCompanies));
$this->setUpSymfony(['contact_allow_multiple_companies' => 0]);
$this->testSymfonyCommand(DeleteContactSecondaryCompaniesCommand::NAME);
$contactCompanies = $companyLeadRepo->getCompaniesByLeadId($contact->getId());
self::assertEquals(1, count($contactCompanies));
}
/**
* @throws \Doctrine\ORM\ORMException
* @throws \Doctrine\ORM\OptimisticLockException
*/
protected function getContactWithCompanies(): Lead
{
$company = new Company();
$company->setName('Doe Corp');
$this->em->persist($company);
$company2 = new Company();
$company2->setName('Doe Corp 2');
$this->em->persist($company2);
$contact = new Lead();
$contact->setEmail('[email protected]');
$this->em->persist($contact);
$this->em->flush();
/** @var LeadModel $leadModel */
$leadModel = self::$container->get('mautic.lead.model.lead');
$this->assertTrue($leadModel->addToCompany($contact, $company));
$this->assertTrue($leadModel->addToCompany($contact, $company2));
return $contact;
}
}
|