Add unit test for ProjectMetricJob
This commit is contained in:
parent
8e6e335c9d
commit
adb5023cfc
|
|
@ -157,6 +157,7 @@ use Pimple\Container;
|
|||
* @property \Kanboard\Job\TaskLinkEventJob $taskLinkEventJob
|
||||
* @property \Kanboard\Job\ProjectFileEventJob $projectFileEventJob
|
||||
* @property \Kanboard\Job\NotificationJob $notificationJob
|
||||
* @property \Kanboard\Job\ProjectMetricJob $projectMetricJob
|
||||
* @property \Psr\Log\LoggerInterface $logger
|
||||
* @property \PicoDb\Database $db
|
||||
* @property \Symfony\Component\EventDispatcher\EventDispatcher $dispatcher
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ namespace Kanboard\ServiceProvider;
|
|||
use Kanboard\Job\CommentEventJob;
|
||||
use Kanboard\Job\NotificationJob;
|
||||
use Kanboard\Job\ProjectFileEventJob;
|
||||
use Kanboard\Job\ProjectMetricJob;
|
||||
use Kanboard\Job\SubtaskEventJob;
|
||||
use Kanboard\Job\TaskEventJob;
|
||||
use Kanboard\Job\TaskFileEventJob;
|
||||
|
|
@ -57,6 +58,10 @@ class JobProvider implements ServiceProviderInterface
|
|||
return new NotificationJob($c);
|
||||
});
|
||||
|
||||
$container['projectMetricJob'] = $container->factory(function ($c) {
|
||||
return new ProjectMetricJob($c);
|
||||
});
|
||||
|
||||
return $container;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
namespace Kanboard\Subscriber;
|
||||
|
||||
use Kanboard\Event\TaskEvent;
|
||||
use Kanboard\Job\ProjectMetricJob;
|
||||
use Kanboard\Model\TaskModel;
|
||||
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
||||
|
||||
|
|
@ -22,9 +21,7 @@ class ProjectDailySummarySubscriber extends BaseSubscriber implements EventSubsc
|
|||
|
||||
public function execute(TaskEvent $event)
|
||||
{
|
||||
if (isset($event['project_id'])) {
|
||||
$this->logger->debug('Subscriber executed: '.__METHOD__);
|
||||
$this->queueManager->push(ProjectMetricJob::getInstance($this->container)->withParams($event['project_id']));
|
||||
}
|
||||
$this->logger->debug('Subscriber executed: '.__METHOD__);
|
||||
$this->queueManager->push($this->projectMetricJob->withParams($event['task']['project_id']));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,47 @@
|
|||
<?php
|
||||
|
||||
use Kanboard\Job\ProjectMetricJob;
|
||||
|
||||
require_once __DIR__.'/../Base.php';
|
||||
|
||||
class ProjectMetricJobTest extends Base
|
||||
{
|
||||
public function testJobParams()
|
||||
{
|
||||
$projectMetricJob = new ProjectMetricJob($this->container);
|
||||
$projectMetricJob->withParams(123);
|
||||
|
||||
$this->assertSame(
|
||||
array(123),
|
||||
$projectMetricJob->getJobParams()
|
||||
);
|
||||
}
|
||||
|
||||
public function testJob()
|
||||
{
|
||||
$this->container['projectDailyColumnStatsModel'] = $this
|
||||
->getMockBuilder('\Kanboard\Model\ProjectDailyColumnStatsModel')
|
||||
->setConstructorArgs(array($this->container))
|
||||
->setMethods(array('updateTotals'))
|
||||
->getMock();
|
||||
|
||||
$this->container['projectDailyStatsModel'] = $this
|
||||
->getMockBuilder('\Kanboard\Model\ProjectDailyStatsModel')
|
||||
->setConstructorArgs(array($this->container))
|
||||
->setMethods(array('updateTotals'))
|
||||
->getMock();
|
||||
|
||||
$this->container['projectDailyColumnStatsModel']
|
||||
->expects($this->once())
|
||||
->method('updateTotals')
|
||||
->with(42, date('Y-m-d'));
|
||||
|
||||
$this->container['projectDailyStatsModel']
|
||||
->expects($this->once())
|
||||
->method('updateTotals')
|
||||
->with(42, date('Y-m-d'));
|
||||
|
||||
$job = new ProjectMetricJob($this->container);
|
||||
$job->execute(42);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue