Replace NewsletterLink with NewsletterLinkEntity in the class WorkerTest

[MAILPOET-3816]
This commit is contained in:
Rodrigo Primo
2021-10-27 15:09:13 -03:00
committed by Veljko V
parent 75da3dca45
commit 5094176ce9

View File

@@ -12,7 +12,6 @@ use MailPoet\Entities\SubscriberEntity;
use MailPoet\Mailer\Mailer; use MailPoet\Mailer\Mailer;
use MailPoet\Mailer\MetaInfo; use MailPoet\Mailer\MetaInfo;
use MailPoet\Models\Newsletter; use MailPoet\Models\Newsletter;
use MailPoet\Models\NewsletterLink;
use MailPoet\Models\ScheduledTask; use MailPoet\Models\ScheduledTask;
use MailPoet\Models\SendingQueue; use MailPoet\Models\SendingQueue;
use MailPoet\Models\StatisticsClicks; use MailPoet\Models\StatisticsClicks;
@@ -22,6 +21,7 @@ use MailPoet\Newsletter\Sending\SendingQueuesRepository;
use MailPoet\Newsletter\Statistics\NewsletterStatisticsRepository; use MailPoet\Newsletter\Statistics\NewsletterStatisticsRepository;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Subscribers\SubscribersRepository; use MailPoet\Subscribers\SubscribersRepository;
use MailPoet\Test\DataFactories\NewsletterLink as NewsletterLinkFactory;
use MailPoet\Util\License\Features\Subscribers as SubscribersFeature; use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
use MailPoetVendor\Carbon\Carbon; use MailPoetVendor\Carbon\Carbon;
use MailPoetVendor\Idiorm\ORM; use MailPoetVendor\Idiorm\ORM;
@@ -53,6 +53,9 @@ class WorkerTest extends \MailPoetTest {
/** @var StatsNotificationsRepository */ /** @var StatsNotificationsRepository */
private $repository; private $repository;
/** @var NewsletterLinkFactory */
private $newsletterLinkFactory;
/** @var NewsletterLinkRepository */ /** @var NewsletterLinkRepository */
private $newsletterLinkRepository; private $newsletterLinkRepository;
@@ -118,31 +121,33 @@ class WorkerTest extends \MailPoetTest {
'newsletter_id' => $this->newsletter->id(), 'newsletter_id' => $this->newsletter->id(),
'count_processed' => 5, 'count_processed' => 5,
]); ]);
$link = NewsletterLink::createOrUpdate([
'url' => 'Link url', $newsletterEntity = $this->newslettersRepository->findOneById($this->newsletter->id);
'newsletter_id' => $this->newsletter->id(), $this->newsletterLinkFactory = new NewsletterLinkFactory($newsletterEntity);
'queue_id' => $this->queue->id(),
'hash' => 'xyz', $link = $this->newsletterLinkFactory
]); ->withUrl('Link url')
->withHash('xyz')
->create();
StatisticsClicks::createOrUpdate([ StatisticsClicks::createOrUpdate([
'newsletter_id' => $this->newsletter->id(), 'newsletter_id' => $this->newsletter->id(),
'queue_id' => $this->queue->id(), 'queue_id' => $this->queue->id(),
'subscriber_id' => '5', 'subscriber_id' => '5',
'link_id' => $link->id(), 'link_id' => $link->getId(),
'count' => 5, 'count' => 5,
'created_at' => '2018-01-02 15:16:17', 'created_at' => '2018-01-02 15:16:17',
]); ]);
$link2 = NewsletterLink::createOrUpdate([
'url' => 'Link url2', $link2 = $this->newsletterLinkFactory
'newsletter_id' => $this->newsletter->id(), ->withUrl('Link url2')
'queue_id' => $this->queue->id(), ->withHash('xyzd')
'hash' => 'xyzd', ->create();
]);
StatisticsClicks::createOrUpdate([ StatisticsClicks::createOrUpdate([
'newsletter_id' => $this->newsletter->id(), 'newsletter_id' => $this->newsletter->id(),
'queue_id' => $this->queue->id(), 'queue_id' => $this->queue->id(),
'subscriber_id' => '6', 'subscriber_id' => '6',
'link_id' => $link2->id(), 'link_id' => $link2->getId(),
'count' => 5, 'count' => 5,
'created_at' => '2018-01-02 15:16:17', 'created_at' => '2018-01-02 15:16:17',
]); ]);
@@ -150,7 +155,7 @@ class WorkerTest extends \MailPoetTest {
'newsletter_id' => $this->newsletter->id(), 'newsletter_id' => $this->newsletter->id(),
'queue_id' => $this->queue->id(), 'queue_id' => $this->queue->id(),
'subscriber_id' => '7', 'subscriber_id' => '7',
'link_id' => $link2->id(), 'link_id' => $link2->getId(),
'count' => 5, 'count' => 5,
'created_at' => '2018-01-02 15:16:17', 'created_at' => '2018-01-02 15:16:17',
]); ]);
@@ -172,6 +177,10 @@ class WorkerTest extends \MailPoetTest {
'queue' => $this->sendingQueuesRepository->findOneById($this->queue->id()), 'queue' => $this->sendingQueuesRepository->findOneById($this->queue->id()),
'created_at' => '2017-01-02 21:23:45', 'created_at' => '2017-01-02 21:23:45',
]); ]);
// need as for now we are creating the clicks outside of Doctrine using the old StatisticsClicks class
$this->entityManager->refresh($link);
$this->entityManager->refresh($link2);
} }
public function testRendersTemplate() { public function testRendersTemplate() {
@@ -239,17 +248,16 @@ class WorkerTest extends \MailPoetTest {
} }
public function testReplacesShortcodeLinks() { public function testReplacesShortcodeLinks() {
$link = NewsletterLink::createOrUpdate([ $link = $this->newsletterLinkFactory
'url' => '[link:subscription_manage_url]', ->withUrl('[link:subscription_manage_url]')
'newsletter_id' => $this->newsletter->id(), ->withHash('xyzd')
'queue_id' => $this->queue->id(), ->create();
'hash' => 'xyzd',
]);
StatisticsClicks::createOrUpdate([ StatisticsClicks::createOrUpdate([
'newsletter_id' => $this->newsletter->id(), 'newsletter_id' => $this->newsletter->id(),
'queue_id' => $this->queue->id(), 'queue_id' => $this->queue->id(),
'subscriber_id' => '6', 'subscriber_id' => '6',
'link_id' => $link->id(), 'link_id' => $link->getId(),
'count' => 1505, 'count' => 1505,
'created_at' => '2018-01-02 15:16:17', 'created_at' => '2018-01-02 15:16:17',
]); ]);
@@ -257,7 +265,7 @@ class WorkerTest extends \MailPoetTest {
'newsletter_id' => $this->newsletter->id(), 'newsletter_id' => $this->newsletter->id(),
'queue_id' => $this->queue->id(), 'queue_id' => $this->queue->id(),
'subscriber_id' => '7', 'subscriber_id' => '7',
'link_id' => $link->id(), 'link_id' => $link->getId(),
'count' => 2, 'count' => 2,
'created_at' => '2018-01-02 15:16:17', 'created_at' => '2018-01-02 15:16:17',
]); ]);
@@ -265,10 +273,14 @@ class WorkerTest extends \MailPoetTest {
'newsletter_id' => $this->newsletter->id(), 'newsletter_id' => $this->newsletter->id(),
'queue_id' => $this->queue->id(), 'queue_id' => $this->queue->id(),
'subscriber_id' => '8', 'subscriber_id' => '8',
'link_id' => $link->id(), 'link_id' => $link->getId(),
'count' => 2, 'count' => 2,
'created_at' => '2018-01-02 15:16:17', 'created_at' => '2018-01-02 15:16:17',
]); ]);
// need as for now we are creating the clicks outside of Doctrine using the old StatisticsClicks class
$this->entityManager->refresh($link);
$this->renderer->expects($this->exactly(2)) // html + text template $this->renderer->expects($this->exactly(2)) // html + text template
->method('render') ->method('render')
->with( ->with(