Passed
Push — main ( 9c59f2...5fac80 )
by Peter
02:52
created

AssetManagerBootstrapperTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 21
c 1
b 0
f 0
dl 0
loc 39
rs 10
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A tearDown() 0 5 1
A setUp() 0 3 1
A testRegisterBindings() 0 22 1
1
<?php
2
3
namespace AbterPhp\Framework\Bootstrappers\Assets;
4
5
use AbterPhp\Framework\Assets\AssetManager;
6
use AbterPhp\Framework\Assets\CacheManager\ICacheManager;
7
use AbterPhp\Framework\Assets\UrlFixer;
8
use AbterPhp\Framework\Constant\Env;
9
use AbterPhp\Framework\Environments\Environment;
10
use AbterPhp\Framework\Filesystem\FileFinder;
11
use Opulence\Ioc\Container;
12
use Opulence\Views\Compilers\Fortune\ITranspiler;
13
use PHPUnit\Framework\TestCase;
14
15
class AssetManagerBootstrapperTest extends TestCase
16
{
17
    /** @var AssetManagerBootstrapper */
18
    protected AssetManagerBootstrapper $sut;
19
20
    public function setUp(): void
21
    {
22
        $this->sut = new AssetManagerBootstrapper();
23
    }
24
25
    public function tearDown(): void
26
    {
27
        Environment::unsetVar(Env::DIR_MEDIA);
28
        Environment::unsetVar(Env::CACHE_BASE_PATH);
29
        Environment::unsetVar(Env::ENV_NAME);
30
    }
31
32
    public function testRegisterBindings()
33
    {
34
        Environment::setVar(Env::DIR_MEDIA, '');
35
        Environment::setVar(Env::CACHE_BASE_PATH, '');
36
        Environment::setVar(Env::ENV_NAME, 'foo');
37
38
        $fileFinderMock   = $this->getMockBuilder(FileFinder::class)->getMock();
39
        $cacheManagerMock = $this->getMockBuilder(ICacheManager::class)->getMock();
40
        $urlFixerMock     = $this->getMockBuilder(UrlFixer::class)->disableOriginalConstructor()->getMock();
41
42
        $transpilerMock = $this->getMockBuilder(ITranspiler::class)->getMock();
43
44
        $container = new Container();
45
        $container->bindInstance(FileFinder::class, $fileFinderMock);
46
        $container->bindInstance(ICacheManager::class, $cacheManagerMock);
47
        $container->bindInstance(UrlFixer::class, $urlFixerMock);
48
        $container->bindInstance(ITranspiler::class, $transpilerMock);
49
50
        $this->sut->registerBindings($container);
51
52
        $actual = $container->resolve(AssetManager::class);
53
        $this->assertInstanceOf(AssetManager::class, $actual);
54
    }
55
}
56