Replace NewsletterLink with NewsletterLinkEntity in the class NewsletterTest

[MAILPOET-3816]
This commit is contained in:
Rodrigo Primo
2021-10-27 13:09:22 -03:00
committed by Veljko V
parent b5ac7dd507
commit d1b13dbd70

View File

@@ -8,14 +8,18 @@ use Codeception\Util\Fixtures;
use Helper\WordPressHooks as WPHooksHelper; use Helper\WordPressHooks as WPHooksHelper;
use MailPoet\Cron\Workers\SendingQueue\Tasks\Newsletter as NewsletterTask; use MailPoet\Cron\Workers\SendingQueue\Tasks\Newsletter as NewsletterTask;
use MailPoet\Cron\Workers\SendingQueue\Tasks\Posts as PostsTask; use MailPoet\Cron\Workers\SendingQueue\Tasks\Posts as PostsTask;
use MailPoet\Cron\Workers\StatsNotifications\NewsletterLinkRepository;
use MailPoet\DI\ContainerWrapper; use MailPoet\DI\ContainerWrapper;
use MailPoet\Entities\NewsletterEntity;
use MailPoet\Entities\NewsletterLinkEntity;
use MailPoet\Entities\NewsletterPostEntity; use MailPoet\Entities\NewsletterPostEntity;
use MailPoet\Entities\ScheduledTaskEntity;
use MailPoet\Entities\SendingQueueEntity;
use MailPoet\Entities\SubscriberEntity;
use MailPoet\Logging\LoggerFactory; use MailPoet\Logging\LoggerFactory;
use MailPoet\Mailer\MailerLog; use MailPoet\Mailer\MailerLog;
use MailPoet\Models\Newsletter; use MailPoet\Models\Newsletter;
use MailPoet\Models\NewsletterLink;
use MailPoet\Models\NewsletterSegment; use MailPoet\Models\NewsletterSegment;
use MailPoet\Models\ScheduledTask;
use MailPoet\Models\SendingQueue; use MailPoet\Models\SendingQueue;
use MailPoet\Models\Subscriber; use MailPoet\Models\Subscriber;
use MailPoet\Newsletter\NewsletterPostsRepository; use MailPoet\Newsletter\NewsletterPostsRepository;
@@ -45,6 +49,9 @@ class NewsletterTest extends \MailPoetTest {
/** @var LoggerFactory */ /** @var LoggerFactory */
private $loggerFactory; private $loggerFactory;
/** @var NewsletterLinkRepository */
private $newsletterLinkRepository;
public function _before() { public function _before() {
parent::_before(); parent::_before();
$this->newsletterTask = new NewsletterTask(); $this->newsletterTask = new NewsletterTask();
@@ -71,6 +78,7 @@ class NewsletterTest extends \MailPoetTest {
$this->queue->newsletter_id = $this->newsletter->id; $this->queue->newsletter_id = $this->newsletter->id;
$this->queue->save(); $this->queue->save();
$this->loggerFactory = LoggerFactory::getInstance(); $this->loggerFactory = LoggerFactory::getInstance();
$this->newsletterLinkRepository = $this->diContainer->get(NewsletterLinkRepository::class);
} }
public function testItConstructs() { public function testItConstructs() {
@@ -159,15 +167,14 @@ class NewsletterTest extends \MailPoetTest {
$newsletterTask = new NewsletterTask($wp); $newsletterTask = new NewsletterTask($wp);
$newsletterTask->trackingEnabled = true; $newsletterTask->trackingEnabled = true;
$newsletterTask->preProcessNewsletter($this->newsletter, $this->queue); $newsletterTask->preProcessNewsletter($this->newsletter, $this->queue);
$link = NewsletterLink::where('newsletter_id', $this->newsletter->id) $link = $this->newsletterLinkRepository->findOneBy(['newsletter' => $this->newsletter->id]);
->findOne(); assert($link instanceof NewsletterLinkEntity);
assert($link instanceof NewsletterLink);
/** @var SendingQueue $updatedQueue */ /** @var SendingQueue $updatedQueue */
$updatedQueue = SendingQueue::findOne($this->queue->id); $updatedQueue = SendingQueue::findOne($this->queue->id);
$updatedQueue = SendingTask::createFromQueue($updatedQueue); $updatedQueue = SendingTask::createFromQueue($updatedQueue);
$renderedNewsletter = $updatedQueue->getNewsletterRenderedBody(); $renderedNewsletter = $updatedQueue->getNewsletterRenderedBody();
expect($renderedNewsletter['html']) expect($renderedNewsletter['html'])
->stringContainsString('[mailpoet_click_data]-' . $link->hash); ->stringContainsString('[mailpoet_click_data]-' . $link->getHash());
expect($renderedNewsletter['html']) expect($renderedNewsletter['html'])
->stringContainsString('[mailpoet_open_data]'); ->stringContainsString('[mailpoet_open_data]');
@@ -184,9 +191,8 @@ class NewsletterTest extends \MailPoetTest {
$newsletterTask = new NewsletterTask($wp); $newsletterTask = new NewsletterTask($wp);
$newsletterTask->trackingEnabled = false; $newsletterTask->trackingEnabled = false;
$newsletterTask->preProcessNewsletter($this->newsletter, $this->queue); $newsletterTask->preProcessNewsletter($this->newsletter, $this->queue);
$link = NewsletterLink::where('newsletter_id', $this->newsletter->id) $link = $this->newsletterLinkRepository->findOneBy(['newsletter' => $this->newsletter->id]);
->findOne(); expect($link)->null();
expect($link)->false();
/** @var SendingQueue $updatedQueue */ /** @var SendingQueue $updatedQueue */
$updatedQueue = SendingQueue::findOne($this->queue->id); $updatedQueue = SendingQueue::findOne($this->queue->id);
$updatedQueue = SendingTask::createFromQueue($updatedQueue); $updatedQueue = SendingTask::createFromQueue($updatedQueue);
@@ -463,11 +469,11 @@ class NewsletterTest extends \MailPoetTest {
public function _after() { public function _after() {
$this->diContainer->get(SettingsRepository::class)->truncate(); $this->diContainer->get(SettingsRepository::class)->truncate();
ORM::raw_execute('TRUNCATE ' . Subscriber::$_table); $this->truncateEntity(SubscriberEntity::class);
ORM::raw_execute('TRUNCATE ' . Newsletter::$_table); $this->truncateEntity(NewsletterEntity::class);
ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table); $this->truncateEntity(ScheduledTaskEntity::class);
ORM::raw_execute('TRUNCATE ' . SendingQueue::$_table); $this->truncateEntity(SendingQueueEntity::class);
ORM::raw_execute('TRUNCATE ' . NewsletterLink::$_table); $this->truncateEntity(NewsletterLinkEntity::class);
$this->truncateEntity(NewsletterPostEntity::class); $this->truncateEntity(NewsletterPostEntity::class);
} }
} }