예제 #1
0
 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);
 }