From a39b73041c83a918c1c8943da7ef2d95b1f2ec18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Lys=C3=BD?= Date: Tue, 9 Aug 2022 13:01:31 +0200 Subject: [PATCH] Extend integration test [MAILPOET-4366] --- .../Sending/ScheduledTasksRepositoryTest.php | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/mailpoet/tests/integration/Newsletter/Sending/ScheduledTasksRepositoryTest.php b/mailpoet/tests/integration/Newsletter/Sending/ScheduledTasksRepositoryTest.php index 968965244f..1dc94c19f3 100644 --- a/mailpoet/tests/integration/Newsletter/Sending/ScheduledTasksRepositoryTest.php +++ b/mailpoet/tests/integration/Newsletter/Sending/ScheduledTasksRepositoryTest.php @@ -4,6 +4,7 @@ namespace MailPoet\Newsletter\Sending; use MailPoet\Entities\ScheduledTaskEntity; use MailPoet\Test\DataFactories\ScheduledTask as ScheduledTaskFactory; +use MailPoet\Test\DataFactories\SendingQueue; use MailPoetVendor\Carbon\Carbon; class ScheduledTasksRepositoryTest extends \MailPoetTest { @@ -13,11 +14,15 @@ class ScheduledTasksRepositoryTest extends \MailPoetTest { /** @var ScheduledTaskFactory */ private $scheduledTaskFactory; + /** @var SendingQueue */ + private $sendingQueueFactory; + public function _before() { parent::_before(); $this->cleanup(); $this->repository = $this->diContainer->get(ScheduledTasksRepository::class); $this->scheduledTaskFactory = new ScheduledTaskFactory(); + $this->sendingQueueFactory = new SendingQueue(); } public function testItCanGetDueTasks() { @@ -63,6 +68,28 @@ class ScheduledTasksRepositoryTest extends \MailPoetTest { $this->assertSame($expectedResult, $tasks); } + public function testItCanGetRunningSendingTasks(): void { + // running task + $task = $this->scheduledTaskFactory->create(ScheduledTaskEntity::TYPE_SENDING, null, Carbon::now()->subDay()); + $this->sendingQueueFactory->create($task); + $expectedResult[] = $task; + // deleted task + $task = $this->scheduledTaskFactory->create(ScheduledTaskEntity::TYPE_SENDING, null, Carbon::now()->subDay(), Carbon::now()); + $this->sendingQueueFactory->create($task); + // deleted sending queue + $task = $this->scheduledTaskFactory->create(ScheduledTaskEntity::TYPE_SENDING, null, Carbon::now()->subDay()); + $this->sendingQueueFactory->create($task, null, Carbon::now()); + // scheduled in future + $task = $this->scheduledTaskFactory->create(ScheduledTaskEntity::TYPE_SENDING, ScheduledTaskEntity::STATUS_COMPLETED, Carbon::now()->addDay()); + $this->sendingQueueFactory->create($task); + // wrong status + $task = $this->scheduledTaskFactory->create(ScheduledTaskEntity::TYPE_SENDING, ScheduledTaskEntity::STATUS_SCHEDULED, Carbon::now()->subDay()); + $this->sendingQueueFactory->create($task); + + $tasks = $this->repository->findRunningSendingTasks(); + $this->assertSame($expectedResult, $tasks); + } + public function cleanup() { $this->truncateEntity(ScheduledTaskEntity::class); }