Files
piratepoet/tests/integration/Cron/Workers/SendingQueue/Tasks/PostsTest.php
Jan Jakeš 54549ff037 Convert variable names to camel case
[MAILPOET-1796]
2020-01-14 15:22:42 +01:00

66 lines
1.9 KiB
PHP

<?php
namespace MailPoet\Test\Cron\Workers\SendingQueue\Tasks;
use MailPoet\Cron\Workers\SendingQueue\Tasks\Posts as PostsTask;
use MailPoet\Models\Newsletter;
use MailPoet\Models\NewsletterPost;
use MailPoetVendor\Idiorm\ORM;
class PostsTest extends \MailPoetTest {
/** @var PostsTask */
private $posts_task;
public function _before() {
parent::_before();
$this->postsTask = new PostsTask;
}
public function testItFailsWhenNoPostsArePresent() {
$newsletter = (object)[
'id' => 1,
'type' => Newsletter::TYPE_NOTIFICATION_HISTORY,
];
$renderedNewsletter = [
'html' => 'Sample newsletter',
];
expect($this->postsTask->extractAndSave($renderedNewsletter, $newsletter))->equals(false);
}
public function testItCanExtractAndSavePosts() {
$postId = 10;
$newsletter = (object)[
'id' => 2,
'parent_id' => 1,
'type' => Newsletter::TYPE_NOTIFICATION_HISTORY,
];
$renderedNewsletter = [
'html' => '<a data-post-id="' . $postId . '" href="#">sample post</a>',
];
expect($this->postsTask->extractAndSave($renderedNewsletter, $newsletter))->equals(true);
$newsletterPost = NewsletterPost::where('newsletter_id', $newsletter->parentId)
->findOne();
expect($newsletterPost->postId)->equals($postId);
}
public function testItDoesNotSavePostsWhenNewsletterIsNotANotificationHistory() {
$postId = 10;
$newsletter = (object)[
'id' => 2,
'parent_id' => 1,
'type' => Newsletter::TYPE_WELCOME,
];
$renderedNewsletter = [
'html' => '<a data-post-id="' . $postId . '" href="#">sample post</a>',
];
expect($this->postsTask->extractAndSave($renderedNewsletter, $newsletter))->equals(false);
$newsletter->type = Newsletter::TYPE_STANDARD;
expect($this->postsTask->extractAndSave($renderedNewsletter, $newsletter))->equals(false);
}
public function _after() {
ORM::raw_execute('TRUNCATE ' . NewsletterPost::$_table);
}
}