Use doctrine entity in newsletter task test

[MAILPOET-3027]
This commit is contained in:
Pavel Dohnal
2021-03-11 10:40:19 +01:00
committed by Veljko V
parent 82bf183a6c
commit 98ee40a203

View File

@@ -8,6 +8,7 @@ use Codeception\Util\Fixtures;
use Helper\WordPressHooks as WPHooksHelper;
use MailPoet\Cron\Workers\SendingQueue\Tasks\Newsletter as NewsletterTask;
use MailPoet\Cron\Workers\SendingQueue\Tasks\Posts as PostsTask;
use MailPoet\DI\ContainerWrapper;
use MailPoet\Entities\NewsletterPostEntity;
use MailPoet\Logging\LoggerFactory;
use MailPoet\Mailer\MailerLog;
@@ -17,6 +18,7 @@ use MailPoet\Models\NewsletterSegment;
use MailPoet\Models\ScheduledTask;
use MailPoet\Models\SendingQueue;
use MailPoet\Models\Subscriber;
use MailPoet\Newsletter\NewsletterPostsRepository;
use MailPoet\Router\Router;
use MailPoet\Settings\SettingsRepository;
use MailPoet\Tasks\Sending as SendingTask;
@@ -217,19 +219,21 @@ class NewsletterTest extends \MailPoetTest {
}
public function testItSavesNewsletterPosts() {
$newsletterPostRepository = ContainerWrapper::getInstance()->get(NewsletterPostsRepository::class);
$this->newsletter->type = Newsletter::TYPE_NOTIFICATION_HISTORY;
$this->newsletter->parentId = $this->newsletter->id;
$postsTask = $this->make(PostsTask::class, [
'getAlcPostsCount' => 1,
'loggerFactory' => $this->loggerFactory,
'newsletterPostRepository' => $newsletterPostRepository,
]);
$this->newsletter->save();
$newsletterTask = new NewsletterTask(new WPFunctions, $postsTask);
$result = $newsletterTask->preProcessNewsletter($this->newsletter, $this->queue);
$newsletterPost = NewsletterPost::where('newsletter_id', $this->newsletter->id)
->findOne();
assert($newsletterPost instanceof NewsletterPost);
$newsletterPost = $newsletterPostRepository->findOneBy(['newsletter' => $this->newsletter->id]);
expect($newsletterPost)->isInstanceOf(NewsletterPostEntity::class);
expect($result)->notEquals(false);
expect($newsletterPost->postId)->equals('10');
expect($newsletterPost->getPostId())->equals('10');
}
public function testItUpdatesStatusAndSetsSentAtDateOnlyForStandardAndPostNotificationNewsletters() {