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
|
|
|
|