Refactor cron worker scheduler test to Doctrine
[MAILPOET-3726]
This commit is contained in:
committed by
Veljko V
parent
1c4eb15f93
commit
b9815c609f
@@ -3,9 +3,9 @@
|
|||||||
namespace MailPoet\Test\Cron;
|
namespace MailPoet\Test\Cron;
|
||||||
|
|
||||||
use MailPoet\Cron\CronWorkerScheduler;
|
use MailPoet\Cron\CronWorkerScheduler;
|
||||||
|
use MailPoet\Entities\ScheduledTaskEntity;
|
||||||
use MailPoet\Models\ScheduledTask;
|
use MailPoet\Models\ScheduledTask;
|
||||||
use MailPoetVendor\Carbon\Carbon;
|
use MailPoetVendor\Carbon\Carbon;
|
||||||
use MailPoetVendor\Idiorm\ORM;
|
|
||||||
|
|
||||||
require_once __DIR__ . '/Workers/SimpleWorkerMockImplementation.php';
|
require_once __DIR__ . '/Workers/SimpleWorkerMockImplementation.php';
|
||||||
|
|
||||||
@@ -15,28 +15,27 @@ class CronWorkerSchedulerTest extends \MailPoetTest {
|
|||||||
|
|
||||||
public function _before() {
|
public function _before() {
|
||||||
$this->cronWorkerScheduler = $this->diContainer->get(CronWorkerScheduler::class);
|
$this->cronWorkerScheduler = $this->diContainer->get(CronWorkerScheduler::class);
|
||||||
ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);
|
$this->truncateEntity(ScheduledTaskEntity::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testItSchedulesTask() {
|
public function testItSchedulesTask() {
|
||||||
$nextRunDate = Carbon::now()->addWeek();
|
$nextRunDate = Carbon::now()->addWeek();
|
||||||
$this->cronWorkerScheduler->schedule('test', $nextRunDate);
|
$this->cronWorkerScheduler->schedule('test', $nextRunDate);
|
||||||
|
$tasks = $this->entityManager->getRepository(ScheduledTaskEntity::class)->findAll();
|
||||||
$tasks = ScheduledTask::findMany();
|
|
||||||
expect($tasks)->count(1);
|
expect($tasks)->count(1);
|
||||||
expect($tasks[0]->type)->same('test');
|
expect($tasks[0]->getType())->same('test');
|
||||||
expect($tasks[0]->status)->same(ScheduledTask::STATUS_SCHEDULED);
|
expect($tasks[0]->getStatus())->same(ScheduledTask::STATUS_SCHEDULED);
|
||||||
expect($tasks[0]->scheduled_at)->same($nextRunDate->format('Y-m-d H:i:s'));
|
expect($tasks[0]->getScheduledAt())->same($nextRunDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testItDoesNotScheduleTaskTwice() {
|
public function testItDoesNotScheduleTaskTwice() {
|
||||||
$nextRunDate = Carbon::now()->addWeek();
|
$nextRunDate = Carbon::now()->addWeek();
|
||||||
$task = $this->cronWorkerScheduler->schedule('test', $nextRunDate);
|
$task = $this->cronWorkerScheduler->schedule('test', $nextRunDate);
|
||||||
expect(ScheduledTask::findMany())->count(1);
|
expect($this->entityManager->getRepository(ScheduledTaskEntity::class)->findAll())->count(1);
|
||||||
|
|
||||||
$result = $this->cronWorkerScheduler->schedule('test', $nextRunDate);
|
$result = $this->cronWorkerScheduler->schedule('test', $nextRunDate);
|
||||||
expect($result->getId())->equals($task->getId());
|
expect($result->getId())->equals($task->getId());
|
||||||
expect(ScheduledTask::findMany())->count(1);
|
expect($this->entityManager->getRepository(ScheduledTaskEntity::class)->findAll())->count(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testItReschedulesTask() {
|
public function testItReschedulesTask() {
|
||||||
@@ -45,15 +44,16 @@ class CronWorkerSchedulerTest extends \MailPoetTest {
|
|||||||
$oldModel = ScheduledTask::findOne($task->getId());
|
$oldModel = ScheduledTask::findOne($task->getId());
|
||||||
$this->assertInstanceOf(ScheduledTask::class, $oldModel);
|
$this->assertInstanceOf(ScheduledTask::class, $oldModel);
|
||||||
$this->cronWorkerScheduler->reschedule($oldModel, 10);
|
$this->cronWorkerScheduler->reschedule($oldModel, 10);
|
||||||
$tasks = ScheduledTask::findMany();
|
$tasks = $this->entityManager->getRepository(ScheduledTaskEntity::class)->findAll();
|
||||||
|
$this->entityManager->refresh($task);
|
||||||
expect($tasks)->count(1);
|
expect($tasks)->count(1);
|
||||||
expect($tasks[0]->type)->same('test');
|
expect($tasks[0]->getType())->same('test');
|
||||||
expect($tasks[0]->status)->same(ScheduledTask::STATUS_SCHEDULED);
|
expect($tasks[0]->getStatus())->same(ScheduledTask::STATUS_SCHEDULED);
|
||||||
expect($tasks[0]->scheduled_at)->greaterThan($nextRunDate);
|
expect($tasks[0]->getScheduledAt())->greaterThan($nextRunDate);
|
||||||
expect($tasks[0]->scheduled_at)->greaterThan(Carbon::now());
|
expect($tasks[0]->getScheduledAt())->greaterThan(Carbon::now());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function _after() {
|
public function _after() {
|
||||||
ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);
|
$this->truncateEntity(ScheduledTaskEntity::class);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user