Passed
Push — master ( 078409...14d907 )
by Simon
03:54 queued 01:59
created

testOverridesNamingStrategy()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 23
Code Lines 17

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 23
rs 9.0856
c 1
b 0
f 0
cc 1
eloc 17
nc 1
nop 0
1
<?php
2
3
namespace Sil\RouteSecurityBundle\Tests\DependencyInjection\Compiler;
4
5
use PHPUnit\Framework\TestCase;
0 ignored issues
show
Bug introduced by
The type PHPUnit\Framework\TestCase was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
6
use Sil\RouteSecurityBundle\DependencyInjection\Compiler\DynamicServiceCompilerPass;
7
use Sil\RouteSecurityBundle\Interfaces\NamingStrategyInterface;
8
use Sil\RouteSecurityBundle\Role\RouteToRoleConverter;
9
use Symfony\Component\DependencyInjection\ContainerBuilder;
10
use Symfony\Component\DependencyInjection\Reference;
11
12
class DynamicServiceCompilerPassTest extends TestCase
13
{
14
    public function testDefaultNamingStrategy()
15
    {
16
        $container = new ContainerBuilder();
17
        $container->setParameter('sil_route_security.naming_strategy', null);
18
        $container->register('sil_route_security.route_to_role_converter', $this->createMock(RouteToRoleConverter::class));
19
        $container->register('router', new \stdClass());
0 ignored issues
show
Bug introduced by
new stdClass() of type stdClass is incompatible with the type string expected by parameter $class of Symfony\Component\Depend...inerBuilder::register(). ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

19
        $container->register('router', /** @scrutinizer ignore-type */ new \stdClass());
Loading history...
20
        $container
21
            ->register('sil_route_security.access_control')
22
            ->addArgument(new Reference('router'))
23
            ->addArgument(new Reference('sil_route_security.route_to_role_converter'))
24
        ;
25
        $container
26
            ->register('sil_route_security.route_security_tools', new \stdClass())
27
            ->addArgument(new Reference('sil_route_security.access_control'))
28
            ->addArgument(new Reference('sil_route_security.route_to_role_converter'))
29
        ;
30
31
        $compiler = new DynamicServiceCompilerPass();
32
        $compiler->process($container);
33
34
        $this->assertEquals('sil_route_security.route_to_role_converter', $container->getDefinition('sil_route_security.access_control')->getArgument(1)->__toString());
35
        $this->assertEquals('sil_route_security.route_to_role_converter', $container->getDefinition('sil_route_security.route_security_tools')->getArgument(1)->__toString());
36
    }
37
38
    public function testOverridesNamingStrategy()
39
    {
40
        $container = new ContainerBuilder();
41
        $container->setParameter('sil_route_security.naming_strategy', 'my_own_naming_strategy');
42
        $container->register('my_own_naming_strategy', $this->createMock(NamingStrategyInterface::class));
43
        $container->register('sil_route_security.route_to_role_converter', $this->createMock(RouteToRoleConverter::class));
44
        $container->register('router', new \stdClass());
0 ignored issues
show
Bug introduced by
new stdClass() of type stdClass is incompatible with the type string expected by parameter $class of Symfony\Component\Depend...inerBuilder::register(). ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

44
        $container->register('router', /** @scrutinizer ignore-type */ new \stdClass());
Loading history...
45
        $container
46
            ->register('sil_route_security.access_control')
47
            ->addArgument(new Reference('router'))
48
            ->addArgument(new Reference('sil_route_security.route_to_role_converter'))
49
        ;
50
        $container
51
            ->register('sil_route_security.route_security_tools', new \stdClass())
52
            ->addArgument(new Reference('sil_route_security.access_control'))
53
            ->addArgument(new Reference('sil_route_security.route_to_role_converter'))
54
        ;
55
56
        $compiler = new DynamicServiceCompilerPass();
57
        $compiler->process($container);
58
59
        $this->assertEquals('my_own_naming_strategy', $container->getDefinition('sil_route_security.access_control')->getArgument(1)->__toString());
60
        $this->assertEquals('my_own_naming_strategy', $container->getDefinition('sil_route_security.route_security_tools')->getArgument(1)->__toString());
61
    }
62
}
63