SymfonyContainerAdapterTest::testParameters()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 5
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 3
nc 1
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Symplify\NetteAdapterForSymfonyBundles\Tests;
6
7
use Nette\DI\Container;
8
use PHPUnit\Framework\TestCase;
9
use stdClass;
10
use Symplify\NetteAdapterForSymfonyBundles\SymfonyContainerAdapter;
11
12
final class SymfonyContainerAdapterTest extends TestCase
13
{
14
    /**
15
     * @var SymfonyContainerAdapter
16
     */
17
    private $symfonyContainerAdapter;
18
19
    protected function setUp()
20
    {
21
        $containerMock = $this->prophesize(Container::class);
22
        $containerMock->getParameters()->willReturn(['someParameter' => 'someValue']);
23
        $containerMock->hasService('someService')->willReturn(true);
24
        $containerMock->hasService('nonExistingService')->willReturn(false);
25
        $containerMock->getService('someService')->willReturn('service');
26
        $this->symfonyContainerAdapter = new SymfonyContainerAdapter([], $containerMock->reveal());
27
    }
28
29
    public function testParameters()
30
    {
31
        $this->assertSame('someValue', $this->symfonyContainerAdapter->getParameter('someParameter'));
32
        $this->assertTrue($this->symfonyContainerAdapter->hasParameter('someParameter'));
33
    }
34
35
    /**
36
     * @expectedException \Symfony\Component\DependencyInjection\Exception\InvalidArgumentException
37
     */
38
    public function testNonExistingParameters()
39
    {
40
        $this->symfonyContainerAdapter->getParameter('nonExistingParameter');
41
    }
42
43
    public function testServices()
44
    {
45
        $this->assertTrue($this->symfonyContainerAdapter->has('someService'));
46
        $this->assertSame('service', $this->symfonyContainerAdapter->get('someService'));
47
    }
48
49
    /**
50
     * @expectedException \Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException
51
     */
52
    public function testNonExistingService()
53
    {
54
        $this->assertFalse($this->symfonyContainerAdapter->has('nonExistingService'));
55
        $this->symfonyContainerAdapter->get('nonExistingService');
56
    }
57
58
    /**
59
     * @expectedException \Symplify\NetteAdapterForSymfonyBundles\Exception\UnsupportedApiException
60
     */
61
    public function testUnsupportedMethodsSet()
62
    {
63
        $this->symfonyContainerAdapter->set('someService', new stdClass());
64
    }
65
66
    /**
67
     * @expectedException \Symplify\NetteAdapterForSymfonyBundles\Exception\UnsupportedApiException
68
     */
69
    public function testUnsupportedMethodsSetParameter()
70
    {
71
        $this->symfonyContainerAdapter->setParameter('someParameter', 'someValue');
72
    }
73
74
    /**
75
     * @expectedException \Symplify\NetteAdapterForSymfonyBundles\Exception\UnsupportedApiException
76
     */
77
    public function testUnsupportedMethodsInitialized()
78
    {
79
        $this->symfonyContainerAdapter->initialized('someService');
80
    }
81
}
82