diff --git a/src/Bridge/ApiPlatform/Filter/SearchFilter.php b/src/Bridge/ApiPlatform/Filter/SearchFilter.php index 1cb3be20..467b9ddb 100644 --- a/src/Bridge/ApiPlatform/Filter/SearchFilter.php +++ b/src/Bridge/ApiPlatform/Filter/SearchFilter.php @@ -99,7 +99,11 @@ public function filter(TaskListInterface $list, array $filters = []): TaskListIn $list = $list->filter(fn (TaskInterface $task): bool => $value === $task->getState()); break; case 'timezone': - $list = $list->filter(fn (TaskInterface $task): bool => null !== $task->getTimezone() && $value === $task->getTimezone()->getName()); + $list = $list->filter(function (TaskInterface $task) use ($value): bool { + $timezone = $task->getTimezone(); + + return null !== $timezone && $value === $timezone->getName(); + }); break; case 'type': $list = $list->filter(fn (TaskInterface $task): bool => $value === get_class($task)); diff --git a/tests/Bridge/ApiPlatform/Filter/SearchFilterTest.php b/tests/Bridge/ApiPlatform/Filter/SearchFilterTest.php index af68c6b0..69968211 100644 --- a/tests/Bridge/ApiPlatform/Filter/SearchFilterTest.php +++ b/tests/Bridge/ApiPlatform/Filter/SearchFilterTest.php @@ -164,7 +164,7 @@ public function testFilterCanFilterOnTaskTimezone(): void $task->expects(self::never())->method('getExpression'); $task->expects(self::never())->method('isQueued'); $task->expects(self::never())->method('getState'); - $task->expects(self::exactly(2))->method('getTimezone')->willReturn(new DateTimeZone('UTC')); + $task->expects(self::once())->method('getTimezone')->willReturn(new DateTimeZone('UTC')); $filter = new SearchFilter(); $list = $filter->filter(new TaskList([$task]), [ diff --git a/tests/EventListener/WorkerLifecycleSubscriberTest.php b/tests/EventListener/WorkerLifecycleSubscriberTest.php index 18421bf3..6741d265 100644 --- a/tests/EventListener/WorkerLifecycleSubscriberTest.php +++ b/tests/EventListener/WorkerLifecycleSubscriberTest.php @@ -88,25 +88,6 @@ public function testSubscriberLogOnWorkerRestartedWithoutExecutedTask(): void $workerLifecycleSubscriber->onWorkerRestarted(new WorkerRestartedEvent($worker)); } - public function testSubscriberLogOnWorkerRestartedWithoutExecutedTask(): void - { - $list = $this->createMock(TaskListInterface::class); - $list->expects(self::once())->method('count')->willReturn(0); - - $worker = $this->createMock(WorkerInterface::class); - $worker->expects(self::once())->method('getFailedTasks')->willReturn($list); - $worker->expects(self::once())->method('getLastExecutedTask')->willReturn(null); - - $logger = $this->createMock(LoggerInterface::class); - $logger->expects(self::once())->method('info')->with(self::equalTo('The worker has been restarted'), self::equalTo([ - 'failedTasks' => 0, - 'lastExecutedTask' => null, - ])); - - $subscriber = new WorkerLifecycleSubscriber($logger); - $subscriber->onWorkerRestarted(new WorkerRestartedEvent($worker)); - } - public function testSubscriberLogOnWorkerRestarted(): void { $task = $this->createMock(TaskInterface::class); @@ -143,26 +124,6 @@ public function testSubscriberLogOnWorkerRunningWithoutExecutedTask(): void $workerLifecycleSubscriber->onWorkerRunning(new WorkerRunningEvent($worker)); } - public function testSubscriberLogOnWorkerRunningWithoutExecutedTask(): void - { - $list = $this->createMock(TaskListInterface::class); - $list->expects(self::once())->method('count')->willReturn(0); - - $worker = $this->createMock(WorkerInterface::class); - $worker->expects(self::once())->method('getFailedTasks')->willReturn($list); - $worker->expects(self::once())->method('getLastExecutedTask')->willReturn(null); - - $logger = $this->createMock(LoggerInterface::class); - $logger->expects(self::once())->method('info')->with(self::equalTo('The worker is currently running'), self::equalTo([ - 'failedTasks' => 0, - 'lastExecutedTask' => null, - 'idle' => false, - ])); - - $subscriber = new WorkerLifecycleSubscriber($logger); - $subscriber->onWorkerRunning(new WorkerRunningEvent($worker)); - } - public function testSubscriberLogOnWorkerRunning(): void { $task = $this->createMock(TaskInterface::class); @@ -199,25 +160,6 @@ public function testSubscriberLogOnWorkerStartedWithoutExecutedTask(): void $workerLifecycleSubscriber->onWorkerStarted(new WorkerStartedEvent($worker)); } - public function testSubscriberLogOnWorkerStartedWithoutExecutedTask(): void - { - $list = $this->createMock(TaskListInterface::class); - $list->expects(self::once())->method('count')->willReturn(0); - - $worker = $this->createMock(WorkerInterface::class); - $worker->expects(self::once())->method('getFailedTasks')->willReturn($list); - $worker->expects(self::once())->method('getLastExecutedTask')->willReturn(null); - - $logger = $this->createMock(LoggerInterface::class); - $logger->expects(self::once())->method('info')->with(self::equalTo('The worker has been started'), self::equalTo([ - 'failedTasks' => 0, - 'lastExecutedTask' => null, - ])); - - $subscriber = new WorkerLifecycleSubscriber($logger); - $subscriber->onWorkerStarted(new WorkerStartedEvent($worker)); - } - public function testSubscriberLogOnWorkerStarted(): void { $task = $this->createMock(TaskInterface::class); @@ -253,25 +195,6 @@ public function testSubscriberLogOnWorkerStoppedWithoutExecutedTask(): void $workerLifecycleSubscriber->onWorkerStopped(new WorkerStoppedEvent($worker)); } - public function testSubscriberLogOnWorkerStoppedWithoutExecutedTask(): void - { - $list = $this->createMock(TaskListInterface::class); - $list->expects(self::once())->method('count')->willReturn(0); - - $worker = $this->createMock(WorkerInterface::class); - $worker->expects(self::once())->method('getFailedTasks')->willReturn($list); - $worker->expects(self::once())->method('getLastExecutedTask')->willReturn(null); - - $logger = $this->createMock(LoggerInterface::class); - $logger->expects(self::once())->method('info')->with(self::equalTo('The worker has been stopped'), self::equalTo([ - 'failedTasks' => 0, - 'lastExecutedTask' => null, - ])); - - $subscriber = new WorkerLifecycleSubscriber($logger); - $subscriber->onWorkerStopped(new WorkerStoppedEvent($worker)); - } - public function testSubscriberLogOnWorkerStopped(): void { $task = $this->createMock(TaskInterface::class); diff --git a/tests/Serializer/TaskNormalizerTest.php b/tests/Serializer/TaskNormalizerTest.php index 961b7f06..df09afc6 100644 --- a/tests/Serializer/TaskNormalizerTest.php +++ b/tests/Serializer/TaskNormalizerTest.php @@ -952,48 +952,6 @@ public function testChainedTaskWithCommandTaskCanBeDenormalized(): void self::assertContains('-vvv', $fooThirdTask->getOptions()); } - public function testChainedTaskWithCommandTaskCanBeDenormalized(): void - { - $objectNormalizer = new ObjectNormalizer(null, null, null, new PropertyInfoExtractor([], [new PhpDocExtractor(), new ReflectionExtractor()])); - $notificationTaskBagNormalizer = new NotificationTaskBagNormalizer($objectNormalizer); - - $serializer = new Serializer([ - $notificationTaskBagNormalizer, - new TaskNormalizer(new DateTimeNormalizer(), new DateTimeZoneNormalizer(), new DateIntervalNormalizer(), $objectNormalizer, $notificationTaskBagNormalizer), - new DateTimeNormalizer(), - new DateIntervalNormalizer(), - new JsonSerializableNormalizer(), - $objectNormalizer, - ], [new JsonEncoder()]); - $objectNormalizer->setSerializer($serializer); - - $data = $serializer->serialize(new ChainedTask( - 'foo', - new ShellTask('bar', ['echo', 'Symfony']), - new CommandTask('foo_second', 'cache:clear', [], ['--no-warmup']), - new CommandTask('foo_third', 'cache:clear', [], ['--no-warmup']) - ), 'json'); - $task = $serializer->deserialize($data, TaskInterface::class, 'json'); - - self::assertInstanceOf(ChainedTask::class, $task); - self::assertNotEmpty($task->getTasks()); - self::assertCount(3, $task->getTasks()); - self::assertInstanceOf(ShellTask::class, $task->getTask(0)); - self::assertSame('bar', $task->getTask(0)->getName()); - - self::assertInstanceOf(CommandTask::class, $task->getTask(1)); - self::assertSame('foo_second', $task->getTask(1)->getName()); - self::assertSame('cache:clear', $task->getTask(1)->getCommand()); - self::assertEmpty($task->getTask(1)->getArguments()); - self::assertNotEmpty($task->getTask(1)->getOptions()); - - self::assertInstanceOf(CommandTask::class, $task->getTask(2)); - self::assertSame('foo_third', $task->getTask(2)->getName()); - self::assertSame('cache:clear', $task->getTask(2)->getCommand()); - self::assertEmpty($task->getTask(2)->getArguments()); - self::assertNotEmpty($task->getTask(2)->getOptions()); - } - public function testShellTaskWithBeforeSchedulingNotificationTaskBagCanBeNormalized(): void { $objectNormalizer = new ObjectNormalizer(null, null, null, new PropertyInfoExtractor([], [new PhpDocExtractor(), new ReflectionExtractor()]));