public function getTestData() { $badEmail = new Email(); $badEmailAddress = new EmailAddress(); $badEmailOwner = new TestEmailOwner(); $badEmailAddress->setOwner($badEmailOwner); $badRecipient = new EmailRecipient(); $badRecipient->setEmailAddress($badEmailAddress); $badEmail->addRecipient($badRecipient); $email = new Email(); $emailAddress = new EmailAddress(); $organization = new TestOrganization(3); $emailOwner = new TestUser(null, null, null, $organization); $emailAddress->setOwner($emailOwner); $recipient = new EmailRecipient(); $recipient->setEmailAddress($emailAddress); $email->addRecipient($recipient); return ['wrong class' => [new \stdClass(), ['integer' => ['organization' => null]]], 'email without correct user organization' => [$badEmail, ['integer' => ['organization' => 0]]], 'correct email' => [$email, ['integer' => ['organization' => [3]]]]]; }
protected function setUp() { $this->form = $this->getMockBuilder('Symfony\\Component\\Form\\Form')->disableOriginalConstructor()->getMock(); $this->request = new Request(); $this->em = $this->getMockBuilder('Doctrine\\ORM\\EntityManager')->disableOriginalConstructor()->getMock(); $this->translator = $this->getMockBuilder('Symfony\\Component\\Translation\\Translator')->disableOriginalConstructor()->getMock(); $this->securityContext = $this->getMock('Symfony\\Component\\Security\\Core\\SecurityContextInterface'); $this->emailAddressManager = $this->getMockBuilder('Oro\\Bundle\\EmailBundle\\Entity\\Manager\\EmailAddressManager')->disableOriginalConstructor()->getMock(); $this->emailEntityBuilder = $this->getMockBuilder('Oro\\Bundle\\EmailBundle\\Builder\\EmailEntityBuilder')->disableOriginalConstructor()->getMock(); $this->mailer = $this->getMockBuilder('\\Swift_Mailer')->disableOriginalConstructor()->getMock(); $this->logger = $this->getMock('Psr\\Log\\LoggerInterface'); $this->nameFormatter = $this->getMockBuilder('Oro\\Bundle\\LocaleBundle\\Formatter\\NameFormatter')->disableOriginalConstructor()->getMock(); $emailAddressRepository = $this->getMockBuilder('Doctrine\\ORM\\EntityRepository')->disableOriginalConstructor()->getMock(); $emailAddressRepository->expects($this->any())->method('findOneBy')->will($this->returnCallback(function ($args) { $emailAddress = new EmailAddress(); $emailAddress->setEmail($args['email']); $emailAddress->setOwner(new TestUser($args['email'], 'FirstName', 'LastName')); return $emailAddress; })); $this->emailAddressManager->expects($this->any())->method('getEmailAddressRepository')->with($this->identicalTo($this->em))->will($this->returnValue($emailAddressRepository)); $this->model = new Email(); $this->handler = new EmailHandler($this->form, $this->request, $this->em, $this->translator, $this->securityContext, $this->emailAddressManager, $this->emailEntityBuilder, $this->mailer, $this->logger, $this->nameFormatter); }
/** * @param Email $email * @param object|null $owner */ protected function addEmailRecipient(Email $email, $owner = null) { $emailAddr = new EmailAddress(); $emailAddr->setOwner($owner); $recipient = new EmailRecipient(); $recipient->setEmailAddress($emailAddr); $email->addRecipient($recipient); }
/** * @dataProvider preciseFullEmailAddressProvider */ public function testPreciseFullEmailAddressWithProvider($expected, $emailAddress, $ownerClass, $ownerId) { $emailAddressRepository = $this->getMockBuilder('Doctrine\\ORM\\EntityRepository')->disableOriginalConstructor()->getMock(); $emailAddressRepository->expects($this->any())->method('findOneBy')->will($this->returnCallback(function ($args) { $emailAddress = new EmailAddress(); $emailAddress->setEmail($args['email']); $emailAddress->setOwner(new TestUser($args['email'], 'FirstName', 'LastName')); return $emailAddress; })); $this->emailAddressManager->expects($this->any())->method('getEmailAddressRepository')->with($this->identicalTo($this->entityManager))->will($this->returnValue($emailAddressRepository)); $this->entityNameResolver->expects($this->any())->method('getName')->with($this->isInstanceOf('Oro\\Bundle\\EmailBundle\\Tests\\Unit\\Fixtures\\Entity\\TestUser'))->will($this->returnCallback(function ($obj) { return $obj->getFirstName() . ' ' . $obj->getLastName(); })); if ($ownerId) { $this->entityRoutingHelper->expects($this->once())->method('getEntity')->with($ownerClass, $ownerId)->will($this->returnValue(new TestUser($emailAddress, 'OwnerFirstName', 'OwnerLastName'))); } $this->helper->preciseFullEmailAddress($emailAddress, $ownerClass, $ownerId); $this->assertEquals($expected, $emailAddress); }