Refactor CronWorkerScheduler to Doctrine

[MAILPOET-3726]
This commit is contained in:
Rostislav Wolny
2021-09-06 12:55:52 +02:00
committed by Veljko V
parent 493a6a6704
commit 1c4eb15f93
3 changed files with 40 additions and 17 deletions

View File

@@ -31,19 +31,20 @@ class CronWorkerSchedulerTest extends \MailPoetTest {
public function testItDoesNotScheduleTaskTwice() {
$nextRunDate = Carbon::now()->addWeek();
$this->cronWorkerScheduler->schedule('test', $nextRunDate);
$task = $this->cronWorkerScheduler->schedule('test', $nextRunDate);
expect(ScheduledTask::findMany())->count(1);
$result = $this->cronWorkerScheduler->schedule('test', $nextRunDate);
expect($result)->false();
expect($result->getId())->equals($task->getId());
expect(ScheduledTask::findMany())->count(1);
}
public function testItReschedulesTask() {
$nextRunDate = Carbon::now()->subDay();
$task = $this->cronWorkerScheduler->schedule('test', $nextRunDate);
$this->cronWorkerScheduler->reschedule($task, 10);
$oldModel = ScheduledTask::findOne($task->getId());
$this->assertInstanceOf(ScheduledTask::class, $oldModel);
$this->cronWorkerScheduler->reschedule($oldModel, 10);
$tasks = ScheduledTask::findMany();
expect($tasks)->count(1);
expect($tasks[0]->type)->same('test');