Refactor NewsletterRepositoryTest to use Doctrine instead of Sending

[MAILPOET-5684]
This commit is contained in:
Rodrigo Primo
2023-11-28 12:34:48 -03:00
committed by Aschepikov
parent 19b33e15f5
commit 7c2065bcbf

View File

@@ -22,8 +22,9 @@ use MailPoet\Entities\StatsNotificationEntity;
use MailPoet\Entities\SubscriberEntity; use MailPoet\Entities\SubscriberEntity;
use MailPoet\Entities\WpPostEntity; use MailPoet\Entities\WpPostEntity;
use MailPoet\Newsletter\Sending\ScheduledTaskSubscribersRepository; use MailPoet\Newsletter\Sending\ScheduledTaskSubscribersRepository;
use MailPoet\Tasks\Sending as SendingTask;
use MailPoet\Test\DataFactories\NewsletterOptionField; use MailPoet\Test\DataFactories\NewsletterOptionField;
use MailPoet\Test\DataFactories\ScheduledTask as ScheduledTaskFactory;
use MailPoet\Test\DataFactories\SendingQueue as SendingQueueFactory;
use MailPoet\WP\Functions as WPFunctions; use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon; use MailPoetVendor\Carbon\Carbon;
@@ -306,11 +307,11 @@ class NewsletterRepositoryTest extends \MailPoetTest {
NewsletterEntity::TYPE_NOTIFICATION_HISTORY, NewsletterEntity::TYPE_NOTIFICATION_HISTORY,
]; ];
list($newsletters, $sendingQueues) = $this->createNewslettersAndSendingTasks($types); list($newsletters, $scheduledTasks) = $this->createNewslettersAndSendingTasks($types);
// set the sending queue status of the first newsletter to null // set the sending queue status of the first newsletter to null
$sendingQueues[0]->status = null; $scheduledTasks[0]->setStatus(null);
$sendingQueues[0]->save(); $this->entityManager->persist($scheduledTasks[0]);
// trash the last newsletter // trash the last newsletter
end($newsletters)->setDeletedAt(new Carbon()); end($newsletters)->setDeletedAt(new Carbon());
@@ -345,17 +346,15 @@ class NewsletterRepositoryTest extends \MailPoetTest {
private function createNewslettersAndSendingTasks(array $types): array { private function createNewslettersAndSendingTasks(array $types): array {
$newsletters = []; $newsletters = [];
$sendingQueues = []; $scheduledTasks = [];
for ($i = 0; $i < count($types); $i++) { for ($i = 0; $i < count($types); $i++) {
$newsletters[$i] = $this->createNewsletter($types[$i]); $newsletters[$i] = $this->createNewsletter($types[$i]);
$sendingQueues[$i] = SendingTask::create(); $scheduledTasks[$i] = (new ScheduledTaskFactory())->create(SendingQueue::TASK_TYPE, SendingQueueEntity::STATUS_COMPLETED);
$sendingQueues[$i]->newsletter_id = $newsletters[$i]->getId(); (new SendingQueueFactory())->create($scheduledTasks[$i], $newsletters[$i]);
$sendingQueues[$i]->status = SendingQueueEntity::STATUS_COMPLETED;
$sendingQueues[$i]->save();
} }
return [$newsletters, $sendingQueues]; return [$newsletters, $scheduledTasks];
} }
private function createQueueWithTaskAndSegmentAndSubscribers(NewsletterEntity $newsletter, $status = ScheduledTaskEntity::STATUS_SCHEDULED): SendingQueueEntity { private function createQueueWithTaskAndSegmentAndSubscribers(NewsletterEntity $newsletter, $status = ScheduledTaskEntity::STATUS_SCHEDULED): SendingQueueEntity {