Skip to content

Commit ab2161b

Browse files
Update compiler passes and add tests
1 parent 5e7625a commit ab2161b

3 files changed

Lines changed: 65 additions & 1 deletion

File tree

src/DependencyInjection/Compiler/ValidateExtensionConfigurationPass.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class ValidateExtensionConfigurationPass implements CompilerPassInterface
2222
*
2323
* @return void
2424
*/
25-
public function process(ContainerBuilder $container)
25+
public function process(ContainerBuilder $container): void
2626
{
2727
$extension = $container->getExtension('stof_doctrine_extensions');
2828
\assert($extension instanceof StofDoctrineExtensionsExtension);
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php
2+
3+
namespace Stof\DoctrineExtensionsBundle\Tests\DependencyInjection\Compiler;
4+
5+
use PHPUnit\Framework\TestCase;
6+
use Stof\DoctrineExtensionsBundle\DependencyInjection\Compiler\ReaderPass;
7+
use Symfony\Component\DependencyInjection\ContainerBuilder;
8+
9+
class ReaderPassTest extends TestCase
10+
{
11+
public function testProcess(): void
12+
{
13+
$readerPass = new ReaderPass();
14+
$container = new ContainerBuilder();
15+
16+
$readerPass->process($container);
17+
18+
$this->assertTrue($container->has('.stof_doctrine_extensions.reader'));
19+
}
20+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<?php
2+
3+
namespace Stof\DoctrineExtensionsBundle\Tests\DependencyInjection\Compiler;
4+
5+
use PHPUnit\Framework\TestCase;
6+
use Stof\DoctrineExtensionsBundle\DependencyInjection\Compiler\ValidateExtensionConfigurationPass;
7+
use Stof\DoctrineExtensionsBundle\DependencyInjection\StofDoctrineExtensionsExtension;
8+
use Symfony\Component\Config\Definition\Exception\InvalidConfigurationException;
9+
use Symfony\Component\DependencyInjection\ContainerBuilder;
10+
11+
class ValidateExtensionConfigurationPassTest extends TestCase
12+
{
13+
public function testProcessInvalidConfigurationExceptionEntityManagerNotFound(): void
14+
{
15+
$this->expectException(InvalidConfigurationException::class);
16+
17+
$readerPass = new ValidateExtensionConfigurationPass();
18+
$extension = new StofDoctrineExtensionsExtension();
19+
$container = new ContainerBuilder();
20+
$container->registerExtension($extension);
21+
22+
$extension->load([
23+
'orm' => ['default' => []],
24+
], $container);
25+
26+
$readerPass->process($container);
27+
}
28+
29+
public function testProcessInvalidConfigurationExceptionDocumentManagerNotFound(): void
30+
{
31+
$this->expectException(InvalidConfigurationException::class);
32+
33+
$readerPass = new ValidateExtensionConfigurationPass();
34+
$extension = new StofDoctrineExtensionsExtension();
35+
$container = new ContainerBuilder();
36+
$container->registerExtension($extension);
37+
38+
$extension->load([
39+
'mongodb' => ['default' => []],
40+
], $container);
41+
42+
$readerPass->process($container);
43+
}
44+
}

0 commit comments

Comments
 (0)