Use doctrine entity in posts test
[MAILPOET-3027]
This commit is contained in:
@@ -48,6 +48,7 @@ class Posts {
|
|||||||
$newsletterPost = new NewsletterPostEntity($parent, $postId);
|
$newsletterPost = new NewsletterPostEntity($parent, $postId);
|
||||||
$this->newsletterPostRepository->persist($newsletterPost);
|
$this->newsletterPostRepository->persist($newsletterPost);
|
||||||
}
|
}
|
||||||
|
$this->newsletterPostRepository->flush();
|
||||||
$this->loggerFactory->getLogger(LoggerFactory::TOPIC_POST_NOTIFICATIONS)->addInfo(
|
$this->loggerFactory->getLogger(LoggerFactory::TOPIC_POST_NOTIFICATIONS)->addInfo(
|
||||||
'extract and save posts - after',
|
'extract and save posts - after',
|
||||||
['newsletter_id' => $newsletter->getId(), 'matched_posts_ids' => $matchedPostsIds]
|
['newsletter_id' => $newsletter->getId(), 'matched_posts_ids' => $matchedPostsIds]
|
||||||
|
@@ -3,8 +3,10 @@
|
|||||||
namespace MailPoet\Test\Cron\Workers\SendingQueue\Tasks;
|
namespace MailPoet\Test\Cron\Workers\SendingQueue\Tasks;
|
||||||
|
|
||||||
use MailPoet\Cron\Workers\SendingQueue\Tasks\Posts as PostsTask;
|
use MailPoet\Cron\Workers\SendingQueue\Tasks\Posts as PostsTask;
|
||||||
|
use MailPoet\DI\ContainerWrapper;
|
||||||
|
use MailPoet\Entities\NewsletterEntity;
|
||||||
use MailPoet\Entities\NewsletterPostEntity;
|
use MailPoet\Entities\NewsletterPostEntity;
|
||||||
use MailPoet\Models\Newsletter;
|
use MailPoet\Newsletter\NewsletterPostsRepository;
|
||||||
|
|
||||||
class PostsTest extends \MailPoetTest {
|
class PostsTest extends \MailPoetTest {
|
||||||
|
|
||||||
@@ -17,10 +19,9 @@ class PostsTest extends \MailPoetTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function testItFailsWhenNoPostsArePresent() {
|
public function testItFailsWhenNoPostsArePresent() {
|
||||||
$newsletter = (object)[
|
$newsletter = new NewsletterEntity();
|
||||||
'id' => 1,
|
$newsletter->setType(NewsletterEntity::TYPE_NOTIFICATION_HISTORY);
|
||||||
'type' => Newsletter::TYPE_NOTIFICATION_HISTORY,
|
$newsletter->setId(1);
|
||||||
];
|
|
||||||
$renderedNewsletter = [
|
$renderedNewsletter = [
|
||||||
'html' => 'Sample newsletter',
|
'html' => 'Sample newsletter',
|
||||||
];
|
];
|
||||||
@@ -28,34 +29,42 @@ class PostsTest extends \MailPoetTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function testItCanExtractAndSavePosts() {
|
public function testItCanExtractAndSavePosts() {
|
||||||
|
$parent = new NewsletterEntity();
|
||||||
|
$parent->setType(NewsletterEntity::TYPE_NOTIFICATION);
|
||||||
|
$parent->setSubject('xx');
|
||||||
|
$newsletter = new NewsletterEntity();
|
||||||
|
$newsletter->setType(NewsletterEntity::TYPE_NOTIFICATION_HISTORY);
|
||||||
|
$newsletter->setSubject('xx');
|
||||||
|
$newsletter->setId(2);
|
||||||
|
$newsletter->setParent($parent);
|
||||||
|
$this->entityManager->persist($parent);
|
||||||
|
$this->entityManager->persist($newsletter);
|
||||||
|
$this->entityManager->flush();
|
||||||
$postId = 10;
|
$postId = 10;
|
||||||
$newsletter = (object)[
|
|
||||||
'id' => 2,
|
|
||||||
'parentId' => 1,
|
|
||||||
'type' => Newsletter::TYPE_NOTIFICATION_HISTORY,
|
|
||||||
];
|
|
||||||
$renderedNewsletter = [
|
$renderedNewsletter = [
|
||||||
'html' => '<a data-post-id="' . $postId . '" href="#">sample post</a>',
|
'html' => '<a data-post-id="' . $postId . '" href="#">sample post</a>',
|
||||||
];
|
];
|
||||||
expect($this->postsTask->extractAndSave($renderedNewsletter, $newsletter))->equals(true);
|
expect($this->postsTask->extractAndSave($renderedNewsletter, $newsletter))->equals(true);
|
||||||
$newsletterPost = NewsletterPost::where('newsletter_id', $newsletter->parentId)
|
$newsletterPostRepository = ContainerWrapper::getInstance()->get(NewsletterPostsRepository::class);
|
||||||
->findOne();
|
$newsletterPost = $newsletterPostRepository->findOneBy(['newsletter' => $parent]);
|
||||||
assert($newsletterPost instanceof NewsletterPost);
|
expect($newsletterPost)->isInstanceOf(NewsletterPostEntity::class);
|
||||||
expect($newsletterPost->postId)->equals($postId);
|
expect($newsletterPost->getPostId())->equals($postId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testItDoesNotSavePostsWhenNewsletterIsNotANotificationHistory() {
|
public function testItDoesNotSavePostsWhenNewsletterIsNotANotificationHistory() {
|
||||||
$postId = 10;
|
$postId = 10;
|
||||||
$newsletter = (object)[
|
|
||||||
'id' => 2,
|
$parent = new NewsletterEntity();
|
||||||
'parentId' => 1,
|
$parent->setType(NewsletterEntity::TYPE_WELCOME);
|
||||||
'type' => Newsletter::TYPE_WELCOME,
|
$newsletter = new NewsletterEntity();
|
||||||
];
|
$newsletter->setType(NewsletterEntity::TYPE_WELCOME);
|
||||||
|
$newsletter->setId(2);
|
||||||
|
$newsletter->setParent($parent);
|
||||||
$renderedNewsletter = [
|
$renderedNewsletter = [
|
||||||
'html' => '<a data-post-id="' . $postId . '" href="#">sample post</a>',
|
'html' => '<a data-post-id="' . $postId . '" href="#">sample post</a>',
|
||||||
];
|
];
|
||||||
expect($this->postsTask->extractAndSave($renderedNewsletter, $newsletter))->equals(false);
|
expect($this->postsTask->extractAndSave($renderedNewsletter, $newsletter))->equals(false);
|
||||||
$newsletter->type = Newsletter::TYPE_STANDARD;
|
$newsletter->setType(NewsletterEntity::TYPE_STANDARD);
|
||||||
expect($this->postsTask->extractAndSave($renderedNewsletter, $newsletter))->equals(false);
|
expect($this->postsTask->extractAndSave($renderedNewsletter, $newsletter))->equals(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -25,7 +25,6 @@ $models = [
|
|||||||
'Newsletter',
|
'Newsletter',
|
||||||
'NewsletterLink',
|
'NewsletterLink',
|
||||||
'NewsletterLink',
|
'NewsletterLink',
|
||||||
'NewsletterPost',
|
|
||||||
'NewsletterSegment',
|
'NewsletterSegment',
|
||||||
'NewsletterOption',
|
'NewsletterOption',
|
||||||
'NewsletterOptionField',
|
'NewsletterOptionField',
|
||||||
|
Reference in New Issue
Block a user