replace mocks with real objects in tests

This commit is contained in:
Christian Flothmann 2019-02-08 14:13:18 +01:00
parent 17ac014306
commit cee3ccd70f

View File

@ -12,6 +12,7 @@
namespace Symfony\Component\Form\Tests\Extension\DependencyInjection; namespace Symfony\Component\Form\Tests\Extension\DependencyInjection;
use PHPUnit\Framework\TestCase; use PHPUnit\Framework\TestCase;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\Form\AbstractTypeExtension; use Symfony\Component\Form\AbstractTypeExtension;
use Symfony\Component\Form\Extension\DependencyInjection\DependencyInjectionExtension; use Symfony\Component\Form\Extension\DependencyInjection\DependencyInjectionExtension;
use Symfony\Component\Form\FormTypeGuesserChain; use Symfony\Component\Form\FormTypeGuesserChain;
@ -21,9 +22,6 @@ class DependencyInjectionExtensionTest extends TestCase
{ {
public function testGetTypeExtensions() public function testGetTypeExtensions()
{ {
$container = $this->createContainerMock();
$container->expects($this->never())->method('get');
$typeExtension1 = new TestTypeExtension(); $typeExtension1 = new TestTypeExtension();
$typeExtension2 = new TestTypeExtension(); $typeExtension2 = new TestTypeExtension();
$typeExtension3 = new OtherTypeExtension(); $typeExtension3 = new OtherTypeExtension();
@ -34,7 +32,7 @@ class DependencyInjectionExtensionTest extends TestCase
'other' => new \ArrayIterator([$typeExtension3, $typeExtension4]), 'other' => new \ArrayIterator([$typeExtension3, $typeExtension4]),
]; ];
$extension = new DependencyInjectionExtension($container, $extensions, []); $extension = new DependencyInjectionExtension(new ContainerBuilder(), $extensions, []);
$this->assertTrue($extension->hasTypeExtensions('test')); $this->assertTrue($extension->hasTypeExtensions('test'));
$this->assertTrue($extension->hasTypeExtensions('other')); $this->assertTrue($extension->hasTypeExtensions('other'));
@ -48,40 +46,28 @@ class DependencyInjectionExtensionTest extends TestCase
*/ */
public function testThrowExceptionForInvalidExtendedType() public function testThrowExceptionForInvalidExtendedType()
{ {
$container = $this->getMockBuilder('Psr\Container\ContainerInterface')->getMock();
$container->expects($this->never())->method('get');
$extensions = [ $extensions = [
'unmatched' => new \ArrayIterator([new TestTypeExtension()]), 'unmatched' => new \ArrayIterator([new TestTypeExtension()]),
]; ];
$extension = new DependencyInjectionExtension($container, $extensions, []); $extension = new DependencyInjectionExtension(new ContainerBuilder(), $extensions, []);
$extension->getTypeExtensions('unmatched'); $extension->getTypeExtensions('unmatched');
} }
public function testGetTypeGuesser() public function testGetTypeGuesser()
{ {
$container = $this->createContainerMock(); $extension = new DependencyInjectionExtension(new ContainerBuilder(), [], [$this->getMockBuilder(FormTypeGuesserInterface::class)->getMock()]);
$extension = new DependencyInjectionExtension($container, [], [$this->getMockBuilder(FormTypeGuesserInterface::class)->getMock()]);
$this->assertInstanceOf(FormTypeGuesserChain::class, $extension->getTypeGuesser()); $this->assertInstanceOf(FormTypeGuesserChain::class, $extension->getTypeGuesser());
} }
public function testGetTypeGuesserReturnsNullWhenNoTypeGuessersHaveBeenConfigured() public function testGetTypeGuesserReturnsNullWhenNoTypeGuessersHaveBeenConfigured()
{ {
$container = $this->createContainerMock(); $extension = new DependencyInjectionExtension(new ContainerBuilder(), [], []);
$extension = new DependencyInjectionExtension($container, [], []);
$this->assertNull($extension->getTypeGuesser()); $this->assertNull($extension->getTypeGuesser());
} }
private function createContainerMock()
{
return $this->getMockBuilder('Psr\Container\ContainerInterface')
->setMethods(['get', 'has'])
->getMock();
}
} }
class TestTypeExtension extends AbstractTypeExtension class TestTypeExtension extends AbstractTypeExtension