Completed
Pull Request — master (#4)
by
unknown
01:42
created

testGetItems()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 9
rs 9.6666
c 0
b 0
f 0
cc 1
eloc 5
nc 1
nop 0
1
<?php
2
3
namespace Modera\BackendGoogleAnalyticsBundle\Tests\Unit\Contributions;
4
5
use Modera\BackendGoogleAnalyticsBundle\Contributions\ClientDiServiceDefinitionsProvider;
6
use Symfony\Component\DependencyInjection\Container;
7
/**
8
 * @author    Sergei Lissovski <[email protected]>
9
 * @copyright 2016 Modera Foundation
10
 */
11
class ClientDiServiceDefinitionsProviderTest extends \PHPUnit_Framework_TestCase
12
{
13
    public function testGetItems()
14
    {
15
        $provider = new ClientDiServiceDefinitionsProvider(false);
16
17
        $items = $provider->getItems();
18
19
        $this->assertTrue(is_array($items));
20
        $this->assertEquals(0, count($items));
21
    }
22
23
    public function testGetItemsIsEnable()
24
    {
25
        $provider = new ClientDiServiceDefinitionsProvider(true);
26
27
        $items = $provider->getItems();
28
29
        $this->assertTrue(is_array($items));
30
        $this->assertEquals(3, count($items));
31
32
        $items = array_values($items);
33
34
        $injectionPlugin = $items[0];
35
        $this->assertTrue(is_array($injectionPlugin));
36
        $this->assertArrayHasKey('className', $injectionPlugin);
37
        $this->assertEquals('Modera.backend.googleanalytics.runtime.TrackingInjectionPlugin', $injectionPlugin['className']);
38
        $this->assertArrayHasKey('args', $injectionPlugin);
39
        $this->assertTrue(is_array($injectionPlugin['args']));
40
        $this->assertEquals(1, count($injectionPlugin['args']));
41
        $arg = $injectionPlugin['args'][0];
42
        $this->assertArrayHasKey('executionContext', $arg);
43
        $this->assertEquals('@root_execution_context', $arg['executionContext']);
44
        $this->assertArrayHasKey('configProvider', $arg);
45
        $this->assertEquals('@config_provider', $arg['configProvider']);
46
        $this->assertTrue(in_array('runtime_plugin', $injectionPlugin['tags']));
47
48
        $gaBackend = $items[1];
49
        $this->assertArrayHasKey('className', $gaBackend);
50
        $this->assertArrayHasKey('tags', $gaBackend);
51
        $this->assertEquals(['profiler_backend'], $gaBackend['tags']);
52
53
        $autoStartPlugin = $items[2];
54
        $this->assertArrayHasKey('className', $autoStartPlugin);
55
        $this->assertArrayHasKey('tags', $autoStartPlugin);
56
        $this->assertEquals(['runtime_plugin'], $autoStartPlugin['tags']);
57
    }
58
}
59