/** * Check that email body is cached. * If do not, load it using appropriate email extension add it to a cache. * * @param Email $email */ public function ensureEmailBodyCached(Email $email) { if ($email->getEmailBody() !== null) { // The email body is already cached return; } // body loader can load email from any folder $folder = $email->getFolders()->first(); $origin = $folder->getOrigin(); $emailBody = $this->selector->select($origin)->loadEmailBody($folder, $email, $this->em); $email->setEmailBody($emailBody); $this->em->persist($email); $this->em->flush(); }
public function testFolderGetterAndSetter() { $folder = $this->getMock('Oro\\Bundle\\EmailBundle\\Entity\\EmailFolder'); $entity = new Email(); $entity->addFolder($folder); $this->assertTrue($folder === $entity->getFolders()->first()); }