Add more tests for rescheduling tasks
[MAILPOET-5755]
This commit is contained in:
committed by
Ján Mikláš
parent
31821d05b5
commit
8b7556a479
@@ -8,6 +8,7 @@ use MailPoet\API\JSON\v1\Help;
|
|||||||
use MailPoet\Entities\ScheduledTaskEntity;
|
use MailPoet\Entities\ScheduledTaskEntity;
|
||||||
use MailPoet\Newsletter\Sending\ScheduledTasksRepository;
|
use MailPoet\Newsletter\Sending\ScheduledTasksRepository;
|
||||||
use MailPoet\Test\DataFactories\ScheduledTask as ScheduledTaskFactory;
|
use MailPoet\Test\DataFactories\ScheduledTask as ScheduledTaskFactory;
|
||||||
|
use MailPoetVendor\Carbon\Carbon;
|
||||||
|
|
||||||
class HelpTest extends \MailPoetTest {
|
class HelpTest extends \MailPoetTest {
|
||||||
|
|
||||||
@@ -96,8 +97,9 @@ class HelpTest extends \MailPoetTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testItCanRescheduleTask() {
|
public function testItCanRescheduleTaskInFuture() {
|
||||||
$task = (new ScheduledTaskFactory())->create('sending', ScheduledTaskEntity::STATUS_CANCELLED, new \DateTime());
|
$futureDate = Carbon::now()->addDay();
|
||||||
|
$task = (new ScheduledTaskFactory())->create('sending', ScheduledTaskEntity::STATUS_CANCELLED, $futureDate);
|
||||||
$response = $this->endpoint->rescheduleTask(['id' => $task->getId()]);
|
$response = $this->endpoint->rescheduleTask(['id' => $task->getId()]);
|
||||||
verify($response)->instanceOf(APIResponse::class);
|
verify($response)->instanceOf(APIResponse::class);
|
||||||
verify($response->status)->equals(200);
|
verify($response->status)->equals(200);
|
||||||
@@ -107,7 +109,21 @@ class HelpTest extends \MailPoetTest {
|
|||||||
if ($task) {
|
if ($task) {
|
||||||
verify($task->getStatus())->equals(ScheduledTaskEntity::STATUS_SCHEDULED);
|
verify($task->getStatus())->equals(ScheduledTaskEntity::STATUS_SCHEDULED);
|
||||||
verify($task->getCancelledAt())->null();
|
verify($task->getCancelledAt())->null();
|
||||||
verify($task->getInProgress())->null();
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testItCanRescheduleTaskInProgress() {
|
||||||
|
$pastDate = Carbon::now()->subDay();
|
||||||
|
$task = (new ScheduledTaskFactory())->create('sending', ScheduledTaskEntity::STATUS_CANCELLED, $pastDate);
|
||||||
|
$response = $this->endpoint->rescheduleTask(['id' => $task->getId()]);
|
||||||
|
verify($response)->instanceOf(APIResponse::class);
|
||||||
|
verify($response->status)->equals(200);
|
||||||
|
|
||||||
|
$task = $this->scheduledTasksRepository->findOneById($task->getId());
|
||||||
|
verify($task)->instanceOf(ScheduledTaskEntity::class);
|
||||||
|
if ($task) {
|
||||||
|
verify($task->getStatus())->equals(null); // task is running
|
||||||
|
verify($task->getCancelledAt())->null();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user