Skip to content

Commit

Permalink
Merge pull request #103 from thephpleague/bugfix/test-for-102
Browse files Browse the repository at this point in the history
Add test to check rollback middleware is properly added
  • Loading branch information
rosstuck committed Apr 25, 2018
2 parents 34dfbfa + d3db1a1 commit ca23228
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 1 deletion.
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
"symfony/console": "^2.8|^3.3|^4.0",
"symfony/security": "^2.8|^3.3|^4.0",
"symfony/validator": "^2.8|^3.3|^4.0",
"league/tactician-doctrine": "^1.1",
"league/tactician-doctrine": "^1.1.1",
"symfony/framework-bundle": "^2.8.15|^3.3|^4.0",
"symfony/security-bundle": "^2.8|^3.3|^4.0",
"matthiasnoback/symfony-config-test": "^3.0",
Expand Down
27 changes: 27 additions & 0 deletions tests/DependencyInjection/Compiler/DoctrineMiddlewarePassTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
namespace League\Tactician\Bundle\Tests\DependencyInjection\Compiler;

use League\Tactician\Bundle\DependencyInjection\Compiler\DoctrineMiddlewarePass;
use League\Tactician\Doctrine\ORM\RollbackOnlyTransactionMiddleware;
use League\Tactician\Doctrine\ORM\TransactionMiddleware;
use Matthias\SymfonyDependencyInjectionTest\PhpUnit\AbstractCompilerPassTestCase;
use Symfony\Component\DependencyInjection\ContainerBuilder;
Expand Down Expand Up @@ -32,6 +33,8 @@ public function test_registering_middleware_for_multiple_entity_managers()

$this->compile();

$this->assertContainerBuilderHasService('tactician.middleware.doctrine.default', TransactionMiddleware::class);
$this->assertContainerBuilderHasService('tactician.middleware.doctrine.second', TransactionMiddleware::class);
$this->assertContainerBuilderHasServiceDefinitionWithArgument('tactician.middleware.doctrine.default', 0, new Reference('doctrine.orm.default_entity_manager'));
$this->assertContainerBuilderHasServiceDefinitionWithArgument('tactician.middleware.doctrine.second', 0, new Reference('doctrine.orm.second_entity_manager'));
$this->assertContainerBuilderHasAlias('tactician.middleware.doctrine', 'tactician.middleware.doctrine.default');
Expand Down Expand Up @@ -61,4 +64,28 @@ public function test_do_not_process_when_tactician_doctrine_is_not_installed()

$this->assertContainerBuilderNotHasService('tactician.middleware.doctrine');
}

public function test_rollback_only_middleware_is_added()
{
if (!class_exists(RollbackOnlyTransactionMiddleware::class)) {
$this->markTestSkipped('"league/tactician-doctrine" is not installed');
}

$this->setParameter(
'doctrine.entity_managers',
[
'default' => 'doctrine.orm.default_entity_manager',
'second' => 'doctrine.orm.second_entity_manager',
]
);
$this->setParameter('doctrine.default_entity_manager', 'default');

$this->compile();

$this->assertContainerBuilderHasService('tactician.middleware.doctrine_rollback_only.default', RollbackOnlyTransactionMiddleware::class);
$this->assertContainerBuilderHasService('tactician.middleware.doctrine_rollback_only.second', RollbackOnlyTransactionMiddleware::class);
$this->assertContainerBuilderHasServiceDefinitionWithArgument('tactician.middleware.doctrine_rollback_only.default', 0, new Reference('doctrine.orm.default_entity_manager'));
$this->assertContainerBuilderHasServiceDefinitionWithArgument('tactician.middleware.doctrine_rollback_only.second', 0, new Reference('doctrine.orm.second_entity_manager'));
$this->assertContainerBuilderHasAlias('tactician.middleware.doctrine_rollback_only', 'tactician.middleware.doctrine_rollback_only.default');
}
}

0 comments on commit ca23228

Please sign in to comment.