|
3 | 3 | use Contributte\Tester\Toolkit;
|
4 | 4 | use Doctrine\ORM\Decorator\EntityManagerDecorator;
|
5 | 5 | use Nette\DI\Compiler;
|
| 6 | +use Nettrine\ORM\DI\OrmAttributesExtension; |
6 | 7 | use Nettrine\ORM\Exception\Logical\InvalidArgumentException;
|
7 | 8 | use Tester\Assert;
|
8 | 9 | use Tests\Fixtures\Dummy\DummyConfiguration;
|
| 10 | +use Tests\Fixtures\Dummy\DummyEntity; |
9 | 11 | use Tests\Fixtures\Dummy\DummyEntityManagerDecorator;
|
10 | 12 | use Tests\Fixtures\Dummy\DummyFilter;
|
| 13 | +use Tests\Fixtures\Dummy\DummyIdentity; |
11 | 14 | use Tests\Toolkit\Container;
|
| 15 | +use Tests\Toolkit\Helpers; |
12 | 16 |
|
13 | 17 | require_once __DIR__ . '/../../bootstrap.php';
|
14 | 18 |
|
|
72 | 76 | Assert::equal(false, $filters->isEnabled('autoDisabledFilter'));
|
73 | 77 | });
|
74 | 78 |
|
| 79 | +// ResolveTargetEntityListener |
| 80 | +Toolkit::test(function (): void { |
| 81 | + $container = Container::of() |
| 82 | + ->withDefaults() |
| 83 | + ->withCompiler(static function (Compiler $compiler): void { |
| 84 | + $compiler->addExtension('nettrine.orm.attributes', new OrmAttributesExtension()); |
| 85 | + $compiler->addConfig(Helpers::neon(' |
| 86 | + nettrine.orm.attributes: |
| 87 | + mapping: |
| 88 | + Tests\Fixtures\Dummy: %appDir% |
| 89 | + ')); |
| 90 | + |
| 91 | + $compiler->addConfig([ |
| 92 | + 'nettrine.orm' => [ |
| 93 | + 'configuration' => [ |
| 94 | + 'resolveTargetEntities' => [ |
| 95 | + DummyIdentity::class => DummyEntity::class, |
| 96 | + ], |
| 97 | + ], |
| 98 | + ], |
| 99 | + ]); |
| 100 | + }) |
| 101 | + ->build(); |
| 102 | + |
| 103 | + /** @var EntityManagerDecorator $em */ |
| 104 | + $em = $container->getService('nettrine.orm.entityManagerDecorator'); |
| 105 | + $cm = $em->getClassMetadata(DummyIdentity::class); |
| 106 | + |
| 107 | + Assert::equal($cm->name, DummyEntity::class); |
| 108 | +}); |
| 109 | + |
75 | 110 | // Error (configuration subclass)
|
76 | 111 | Toolkit::test(function (): void {
|
77 | 112 | Assert::exception(function (): void {
|
|
0 commit comments