Esempio n. 1
0
 /**
  * @param $entityClass
  * @param $entityId
  * @param $from
  * @param $subject
  * @param $parentEmail
  * @param $helperDecodeClassNameCalls
  * @param $emGetRepositoryCalls
  * @param $helperPreciseFullEmailAddressCalls
  * @param $helperGetUserCalls
  * @param $helperBuildFullEmailAddress
  *
  * @dataProvider createEmailModelProvider
  *
  * @SuppressWarnings(PHPMD)
  */
 public function testCreateEmailModel($entityClass, $entityId, $from, $subject, $parentEmail, $helperDecodeClassNameCalls, $emGetRepositoryCalls, $helperPreciseFullEmailAddressCalls, $helperGetUserCalls, $helperBuildFullEmailAddress)
 {
     $emailModel = new EmailModel();
     $this->request = new Request();
     $this->request->setMethod('GET');
     if ($entityClass) {
         $this->request->query->set('entityClass', $entityClass);
     }
     if ($entityId) {
         $this->request->query->set('entityId', $entityId);
     }
     if ($from) {
         $this->request->query->set('from', $from);
     }
     if ($subject) {
         $this->request->query->set('subject', $subject);
     }
     $this->emailModelBuilder = new EmailModelBuilder($this->helper, $this->entityManager, $this->configManager, $this->activityListProvider, $this->emailAttachmentProvider, $this->factory);
     $this->emailModelBuilder->setRequest($this->request);
     $this->helper->expects($this->exactly($helperDecodeClassNameCalls))->method('decodeClassName')->willReturn($entityClass);
     $repository = $this->getMockBuilder('Doctrine\\ORM\\EntityRepository')->disableOriginalConstructor()->getMock();
     $this->entityManager->expects($this->exactly($emGetRepositoryCalls))->method('getRepository')->willReturn($repository);
     $this->helper->expects($this->exactly($helperPreciseFullEmailAddressCalls))->method('preciseFullEmailAddress');
     $this->helper->expects($this->exactly($helperGetUserCalls))->method('getUser')->willReturn($this->getMock('Oro\\Bundle\\UserBundle\\Entity\\User'));
     $this->helper->expects($this->exactly($helperBuildFullEmailAddress))->method('buildFullEmailAddress');
     $this->configManager->expects($this->once())->method('get')->with('oro_email.signature');
     $result = $this->emailModelBuilder->createEmailModel($emailModel);
     $this->assertEquals($emailModel, $result);
     $this->assertEquals($entityClass, $result->getEntityClass());
     $this->assertEquals($entityId, $result->getEntityId());
     $this->assertEquals($subject, $result->getSubject());
     $this->assertEquals($from, $result->getFrom());
 }