EnumExtensionTest::extension()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php declare(strict_types=1);
2
3
namespace Yokai\EnumBundle\Tests\DependencyInjection;
4
5
use Symfony\Component\DependencyInjection\ContainerBuilder;
6
use Yokai\EnumBundle\DependencyInjection\EnumExtension;
7
use Yokai\EnumBundle\EnumInterface;
8
use Yokai\EnumBundle\EnumRegistry;
9
use Yokai\EnumBundle\Tests\TestCase;
10
11
/**
12
 * @author Yann Eugoné <[email protected]>
13
 */
14
class EnumExtensionTest extends TestCase
15
{
16
    public function extension(): EnumExtension
17
    {
18
        return new EnumExtension();
19
    }
20
21
    /**
22
     * @test
23
     */
24
    public function it_register_services(): void
25
    {
26
        $container = new ContainerBuilder();
27
        $this->extension()->load([[]], $container);
28
29
        $services = [
30
            'yokai_enum.form_type.enum_type',
31
            'yokai_enum.form_extension.enum_type_guesser',
32
            'yokai_enum.validator_constraints.enum_validator',
33
            'yokai_enum.twig_extension.enum_extension',
34
        ];
35
        foreach ($services as $service) {
36
            self::assertTrue($container->has($service), sprintf('Service "%s" is registered', $service));
37
        }
38
39
        $autoconfigure = $container->getAutoconfiguredInstanceof();
40
        $this->assertArrayHasKey(EnumInterface::class, $autoconfigure);
41
        $this->assertEquals(['enum' => [[]]], $autoconfigure[EnumInterface::class]->getTags());
42
43
        $this->assertTrue($container->hasAlias(EnumRegistry::class));
44
    }
45
}
46