Files
kimai2/tests/Command/VersionCommandTest.php
Kevin Papst dad1b8b772 version 1.14.1 (#2532)
* no back links in modal pages
* remove unused service links to bountysource and gitter
* add validation for budget and time-budget fields
* display time budget if set
* remove console log
* sanitize DDE payloads
* do not show status and name in version string
2021-04-29 18:29:03 +02:00

69 lines
1.9 KiB
PHP

<?php
/*
* This file is part of the Kimai time-tracking app.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace App\Tests\Command;
use App\Command\VersionCommand;
use App\Constants;
use Symfony\Bundle\FrameworkBundle\Console\Application;
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
use Symfony\Component\Console\Tester\CommandTester;
/**
* @covers \App\Command\VersionCommand
* @group integration
*/
class VersionCommandTest extends KernelTestCase
{
/**
* @var Application
*/
protected $application;
protected function setUp(): void
{
$kernel = self::bootKernel();
$this->application = new Application($kernel);
$this->application->add(new VersionCommand());
}
/**
* @dataProvider getTestData
*/
public function testVersion(array $options, $result)
{
$commandTester = $this->getCommandTester($options);
$output = $commandTester->getDisplay();
$this->assertEquals($result . PHP_EOL, $output);
}
public function getTestData()
{
return [
[[], 'Kimai ' . Constants::VERSION . ' by Kevin Papst and contributors.'],
[['--name' => true], Constants::NAME],
[['--short' => true], Constants::VERSION],
// @deprecated since 1.14.1
[['--candidate' => true], Constants::STATUS],
[['--semver' => true], Constants::VERSION . '-' . Constants::STATUS],
];
}
protected function getCommandTester(array $options = [])
{
$command = $this->application->find('kimai:version');
$commandTester = new CommandTester($command);
$inputs = array_merge(['command' => $command->getName()], $options);
$commandTester->execute($inputs);
return $commandTester;
}
}