Completed
Push — refonte ( 7173e3...bffa4c )
by Arnaud
02:33
created

ResourceCompilerPassTest   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 41
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 4

Importance

Changes 0
Metric Value
wmc 1
lcom 1
cbo 4
dl 0
loc 41
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace LAG\AdminBundle\Tests\DependencyInjection\CompilerPass;
4
5
use LAG\AdminBundle\DependencyInjection\CompilerPass\ResourceCompilerPass;
6
use LAG\AdminBundle\Resource\ResourceCollection;
7
use LAG\AdminBundle\Tests\AdminTestBase;
8
use Symfony\Component\DependencyInjection\ContainerBuilder;
9
use Symfony\Component\DependencyInjection\Definition;
10
use Symfony\Component\DependencyInjection\Reference;
11
12
class ResourceCompilerPassTest extends AdminTestBase
13
{
14
    public function testProcess()
15
    {
16
        $resourceCollection = $this->getMockWithoutConstructor(Definition::class);
17
        $resourceCollection
18
            ->expects($this->once())
19
            ->method('addMethodCall')
20
            ->willReturnCallback(function($name, $parameters) {
21
                $this->assertEquals('add', $name);
22
                $this->assertCount(1, $parameters);
23
                $this->assertInstanceOf(Reference::class, $parameters[0]);
24
            })
25
        ;
26
27
        $builder = $this->getMockWithoutConstructor(ContainerBuilder::class);
28
        $builder
29
            ->expects($this->once())
30
            ->method('getDefinition')
31
            ->with(ResourceCollection::class)
32
            ->willReturn($resourceCollection)
33
        ;
34
        $builder
35
            ->expects($this->exactly(1))
36
            ->method('getParameter')
37
            ->willReturnMap([
38
                ['lag.admins', [
39
                    'panda' => [
40
                        'entity' => 'TestEntity',
41
                    ],
42
                ]],
43
                ['lag.admin.application_configuration', [
44
45
                ]],
46
            ])
47
        ;
48
49
        $compilerPass = new ResourceCompilerPass();
50
        $compilerPass->process($builder);
51
    }
52
}
53