1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
<?php
declare(strict_types=1);
namespace Doctrine\Tests\ORM\Tools\Console;
use Doctrine\Deprecations\PHPUnit\VerifyDeprecations;
use Doctrine\ORM\Tools\Console\ConsoleRunner;
use Doctrine\ORM\Tools\Console\EntityManagerProvider;
use Doctrine\ORM\Version;
use Doctrine\Tests\DoctrineTestCase;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Helper\HelperSet;
/**
* @group DDC-3186
* @covers \Doctrine\ORM\Tools\Console\ConsoleRunner
*/
final class ConsoleRunnerTest extends DoctrineTestCase
{
use VerifyDeprecations;
public function testCreateApplicationShouldReturnAnApplicationWithTheCorrectCommands(): void
{
$this->expectDeprecationWithIdentifier('https://github.com/doctrine/orm/issues/8327');
$helperSet = new HelperSet();
$app = ConsoleRunner::createApplication($helperSet);
self::assertSame($helperSet, $app->getHelperSet());
self::assertSame(Version::VERSION, $app->getVersion());
self::assertTrue($app->has('dbal:reserved-words'));
self::assertTrue($app->has('dbal:run-sql'));
self::assertTrue($app->has('orm:clear-cache:region:collection'));
self::assertTrue($app->has('orm:clear-cache:region:entity'));
self::assertTrue($app->has('orm:clear-cache:region:query'));
self::assertTrue($app->has('orm:clear-cache:metadata'));
self::assertTrue($app->has('orm:clear-cache:query'));
self::assertTrue($app->has('orm:clear-cache:result'));
self::assertTrue($app->has('orm:convert-d1-schema'));
self::assertTrue($app->has('orm:convert-mapping'));
self::assertTrue($app->has('orm:convert:d1-schema'));
self::assertTrue($app->has('orm:convert:mapping'));
self::assertTrue($app->has('orm:ensure-production-settings'));
self::assertTrue($app->has('orm:generate-entities'));
self::assertTrue($app->has('orm:generate-proxies'));
self::assertTrue($app->has('orm:generate-repositories'));
self::assertTrue($app->has('orm:generate:entities'));
self::assertTrue($app->has('orm:generate:proxies'));
self::assertTrue($app->has('orm:generate:repositories'));
self::assertTrue($app->has('orm:info'));
self::assertTrue($app->has('orm:mapping:describe'));
self::assertTrue($app->has('orm:run-dql'));
self::assertTrue($app->has('orm:schema-tool:create'));
self::assertTrue($app->has('orm:schema-tool:drop'));
self::assertTrue($app->has('orm:schema-tool:update'));
self::assertTrue($app->has('orm:validate-schema'));
}
public function testCreateApplicationShouldAppendGivenCommands(): void
{
$command = 'my:lovely-command';
$app = ConsoleRunner::createApplication(new HelperSet(), [new Command($command)]);
self::assertTrue($app->has($command));
}
public function testCreateApplicationWithProvider(): void
{
$provider = $this->createMock(EntityManagerProvider::class);
$app = ConsoleRunner::createApplication($provider, []);
self::assertTrue($app->has('orm:info'));
}
}
|