From f2070332e96fd7a96b645d134bfba91ba2cfe31c Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Wed, 16 Jun 2021 12:50:59 +0300 Subject: [PATCH] test job scheduler --- tests/integration/Espo/Core/Job/JobTest.php | 26 +++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tests/integration/Espo/Core/Job/JobTest.php b/tests/integration/Espo/Core/Job/JobTest.php index ceced76f77..d2ab72c535 100644 --- a/tests/integration/Espo/Core/Job/JobTest.php +++ b/tests/integration/Espo/Core/Job/JobTest.php @@ -32,6 +32,8 @@ namespace tests\integration\Espo\Core\Job; use Espo\Core\{ Job\JobManager, Job\JobStatus, + Job\JobSchedulerFactory, + Job\QueueName, ORM\EntitManager, }; @@ -49,6 +51,11 @@ class JobTest extends \tests\integration\Core\BaseTestCase */ private $entityManager; + /** + * @var JobSchedulerFactory + */ + private $schedulerFactory; + protected function setUp(): void { parent::setUp(); @@ -56,6 +63,25 @@ class JobTest extends \tests\integration\Core\BaseTestCase $this->jobManager = $this->getContainer()->get('jobManager'); $this->entityManager = $this->getContainer()->get('entityManager'); + + $this->schedulerFactory = $this->getContainer() + ->get('injectableFactory') + ->create(JobSchedulerFactory::class); + } + + public function testScheduler(): void + { + $job = $this->schedulerFactory + ->create() + ->setClassName(TestJob::class) + ->setQueue(QueueName::Q0) + ->schedule(); + + $this->jobManager->processQueue(QueueName::Q0, 10); + + $jobReloaded = $this->entityManager->getEntity('Job', $job->getId()); + + $this->assertEquals(JobStatus::SUCCESS, $jobReloaded->getStatus()); } public function testProcessQueueNoGroup(): void