1
0
mirror of synced 2025-02-03 22:09:26 +03:00
doctrine2/tests/Doctrine/Tests/ORM/Tools/Console/Command/MappingDescribeCommandTest.php
Luís Cobucci 43a88d539d
Format commands' tests
To simplify and organise the code (also replacing `$this->assert*`
with `self::assert*`).
2017-11-24 01:25:15 +01:00

91 lines
2.5 KiB
PHP

<?php
namespace Doctrine\Tests\ORM\Tools\Console\Command;
use Doctrine\ORM\Tools\Console\Command\MappingDescribeCommand;
use Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper;
use Doctrine\Tests\Models\Cache\AttractionInfo;
use Doctrine\Tests\OrmFunctionalTestCase;
use Symfony\Component\Console\Application;
use Symfony\Component\Console\Helper\HelperSet;
use Symfony\Component\Console\Tester\CommandTester;
/**
* Tests for {@see \Doctrine\ORM\Tools\Console\Command\MappingDescribeCommand}
*
* @covers \Doctrine\ORM\Tools\Console\Command\MappingDescribeCommand
*/
class MappingDescribeCommandTest extends OrmFunctionalTestCase
{
/**
* @var \Symfony\Component\Console\Application
*/
private $application;
/**
* @var \Doctrine\ORM\Tools\Console\Command\InfoCommand
*/
private $command;
/**
* @var \Symfony\Component\Console\Tester\CommandTester
*/
private $tester;
protected function setUp()
{
parent::setUp();
$this->application = new Application();
$this->application->setHelperSet(new HelperSet(['em' => new EntityManagerHelper($this->_em)]));
$this->application->add(new MappingDescribeCommand());
$this->command = $this->application->find('orm:mapping:describe');
$this->tester = new CommandTester($this->command);
}
public function testShowSpecificFuzzySingle()
{
$this->tester->execute(
[
'command' => $this->command->getName(),
'entityName' => 'AttractionInfo',
]
);
$display = $this->tester->getDisplay();
self::assertContains(AttractionInfo::class, $display);
self::assertContains('Root entity name', $display);
}
/**
* @expectedException \InvalidArgumentException
* @expectedExceptionMessage possible matches
*/
public function testShowSpecificFuzzyAmbiguous()
{
$this->tester->execute(
[
'command' => $this->command->getName(),
'entityName' => 'Attraction',
]
);
}
/**
* @expectedException \InvalidArgumentException
* @expectedExceptionMessage Could not find any mapped Entity classes matching "AttractionFooBar"
*/
public function testShowSpecificNotFound()
{
$this->tester->execute(
[
'command' => $this->command->getName(),
'entityName' => 'AttractionFooBar',
]
);
}
}