8 use Symfony\Component\Console\Tester\CommandTester;
21 private $crontabManagerMock;
26 private $tasksProviderMock;
31 private $commandTester;
38 $this->crontabManagerMock = $this->getMockBuilder(CrontabManagerInterface::class)
39 ->getMockForAbstractClass();
40 $this->tasksProviderMock = $this->getMockBuilder(TasksProviderInterface::class)
41 ->getMockForAbstractClass();
43 $this->commandTester =
new CommandTester(
53 $this->crontabManagerMock->expects($this->once())
55 ->willReturn([[
'* * * * * /bin/php /var/run.php']]);
56 $this->tasksProviderMock->expects($this->never())
59 $this->commandTester->execute([]);
61 'Crontab has already been generated and saved' . PHP_EOL,
62 $this->commandTester->getDisplay()
72 $this->crontabManagerMock->expects($this->once())
75 $this->tasksProviderMock->expects($this->once())
78 $this->crontabManagerMock->expects($this->once())
82 $this->commandTester->execute([]);
84 'Some error' . PHP_EOL,
85 $this->commandTester->getDisplay()
98 $this->crontabManagerMock->expects($this->once())
100 ->willReturn($existingTasks);
101 $this->tasksProviderMock->expects($this->once())
104 $this->crontabManagerMock->expects($this->once())
105 ->method(
'saveTasks')
108 $this->commandTester->execute(
$options);
110 'Crontab has been generated and saved' . PHP_EOL,
111 $this->commandTester->getDisplay()
122 [
'existingTasks' => [],
'options' => []],
123 [
'existingTasks' => [
'* * * * * /bin/php /var/www/run.php'],
'options' => [
'-f'=>
true]]
testExecute($existingTasks, $options)
testExecuteWithException()
testExecuteAlreadyInstalled()