/**
  * @param Email $emailEntity
  *
  * @return array
  */
 public function getThreadAttachments(Email $emailEntity)
 {
     $attachments = [];
     $threadEmails = $this->emailThreadProvider->getThreadEmails($this->em, $emailEntity);
     /** @var Email $threadEmail */
     foreach ($threadEmails as $threadEmail) {
         if ($threadEmail->getEmailBody()->getHasAttachments()) {
             $emailAttachments = $threadEmail->getEmailBody()->getAttachments();
             foreach ($emailAttachments as $emailAttachment) {
                 $attachments[] = $this->emailAttachmentTransformer->entityToModel($emailAttachment);
             }
         }
     }
     return $attachments;
 }
 public function testEntityToModel()
 {
     $attachmentEntity = $this->getMock('Oro\\Bundle\\EmailBundle\\Entity\\EmailAttachment');
     $attachmentEntity->expects($this->once())->method('getId')->willReturn(1);
     $emailAttachmentContent = $this->getMock('Oro\\Bundle\\EmailBundle\\Entity\\EmailAttachmentContent');
     $emailAttachmentContent->expects($this->once())->method('getContent')->willReturn('Some content');
     $attachmentEntity->expects($this->once())->method('getContent')->willReturn($emailAttachmentContent);
     $emailBody = $this->getMock('Oro\\Bundle\\EmailBundle\\Entity\\EmailBody');
     $emailBody->expects($this->once())->method('getCreated')->willReturn('2015-04-13 19:09:32');
     $attachmentEntity->expects($this->once())->method('getEmailBody')->willReturn($emailBody);
     $attachmentModel = $this->emailAttachmentTransformer->entityToModel($attachmentEntity);
     $this->assertInstanceOf('Oro\\Bundle\\EmailBundle\\Form\\Model\\EmailAttachment', $attachmentModel);
     $this->assertEquals(1, $attachmentModel->getId());
     $this->assertEquals(12, $attachmentModel->getFileSize());
     $this->assertEquals('2015-04-13 19:09:32', $attachmentModel->getModified());
     $this->assertEquals(2, $attachmentModel->getType());
     $this->assertEquals($attachmentEntity, $attachmentModel->getEmailAttachment());
 }