Passed
Push — main ( 3b40c1...b711d3 )
by Peter
07:24
created

ViewFunctionsBootstrapperTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 14
c 1
b 0
f 0
dl 0
loc 26
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 3 1
A testRegisterBindings() 0 16 1
1
<?php
2
3
namespace AbterPhp\Framework\Bootstrappers\Views;
4
5
use Opulence\Http\Requests\Request;
6
use Opulence\Ioc\Container;
7
use Opulence\Routing\Urls\UrlGenerator;
8
use Opulence\Sessions\ISession;
9
use Opulence\Views\Compilers\Fortune\ITranspiler;
10
use Opulence\Views\Compilers\Fortune\Transpiler;
11
use PHPUnit\Framework\TestCase;
12
13
class ViewFunctionsBootstrapperTest extends TestCase
14
{
15
    /** @var ViewFunctionsBootstrapper */
16
    protected ViewFunctionsBootstrapper $sut;
17
18
    public function setUp(): void
19
    {
20
        $this->sut = new ViewFunctionsBootstrapper();
21
    }
22
23
    public function testRegisterBindings()
24
    {
25
        $requestMock      = $this->getMockBuilder(Request::class)->disableOriginalConstructor()->getMock();
26
        $urlGeneratorMock = $this->getMockBuilder(UrlGenerator::class)->disableOriginalConstructor()->getMock();
27
        $sessionMock      = $this->getMockBuilder(ISession::class)->getMock();
28
        $transpilerMock   = $this->getMockBuilder(Transpiler::class)->disableOriginalConstructor()->getMock();
29
30
        $transpilerMock->expects($this->atLeast(3))->method('registerViewFunction');
31
32
        $container = new Container();
33
        $container->bindInstance(Request::class, $requestMock);
34
        $container->bindInstance(UrlGenerator::class, $urlGeneratorMock);
35
        $container->bindInstance(ISession::class, $sessionMock);
36
        $container->bindInstance(ITranspiler::class, $transpilerMock);
37
38
        $this->sut->registerBindings($container);
39
    }
40
}
41