Completed
Push — master ( fce8e6...b0acfe )
by GBProd
02:14
created

ElasticsearchDataProviderExtensionTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 50
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 3
Bugs 0 Features 1
Metric Value
wmc 3
c 3
b 0
f 1
lcom 1
cbo 3
dl 0
loc 50
rs 10
1
<?php
2
3
namespace Tests\GBProd\ElasticsearchDataProviderBundle\DependencyInjection;
4
5
use GBProd\ElasticsearchDataProviderBundle\DataProvider\Handler;
6
use GBProd\ElasticsearchDataProviderBundle\DataProvider\Registry;
7
use GBProd\ElasticsearchDataProviderBundle\DependencyInjection\ElasticsearchDataProviderExtension;
8
use Symfony\Component\DependencyInjection\ContainerBuilder;
9
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
10
11
/**
12
 * Tests for ElasticsearchDataProviderExtension
13
 *
14
 * @author gbprod <[email protected]>
15
 */
16
class ElasticsearchDataProviderExtensionTest extends \PHPUnit_Framework_TestCase
17
{
18
    private $extension;
19
20
    private $container;
21
22
    protected function setUp()
23
    {
24
        $this->extension = new ElasticsearchDataProviderExtension();
25
26
        $this->container = new ContainerBuilder();
27
        $this->container->registerExtension($this->extension);
28
29
        $this->container->set(
30
            'event_dispatcher',
31
            $this->getMock(EventDispatcherInterface::class)
32
        );
33
34
        $this->container->loadFromExtension($this->extension->getAlias());
35
        $this->container->compile();
36
    }
37
38
    /**
39
     * @dataProvider getServices
40
     */
41
    public function testServices($serviceId, $classname)
42
    {
43
        $this->assertTrue(
44
            $this->container->has($serviceId)
45
        );
46
47
        $service = $this->container->get($serviceId);
48
49
        $this->assertInstanceOf($classname, $service);
50
    }
51
52
    public function getServices()
53
    {
54
        return [
55
            [
56
                'gbprod.elasticsearch_dataprovider.registry',
57
                Registry::class,
58
            ],
59
            [
60
                'gbprod.elasticsearch_dataprovider.handler',
61
                Handler::class,
62
            ],
63
        ];
64
    }
65
}
66