Passed
Push — master ( 51a94b...0f3d7a )
by Jesús
01:31 queued 13s
created

FileProfilerFeatureTest   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 40
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 4
eloc 19
dl 0
loc 40
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A test_custom_profiler_dir_but_profiler_disable() 0 13 1
A setUp() 0 3 1
A test_custom_profiler_dir() 0 13 1
A tearDownAfterClass() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace GacelaTest\Feature\Framework\GacelaProfiler;
6
7
use Gacela\Framework\Bootstrap\GacelaConfig;
8
use Gacela\Framework\ClassResolver\Profiler\ClassNameJsonProfiler;
9
use Gacela\Framework\ClassResolver\Profiler\CustomServicesJsonProfiler;
10
use Gacela\Framework\Gacela;
11
use GacelaTest\Feature\Util\DirectoryUtil;
12
use PHPUnit\Framework\TestCase;
13
14
final class FileProfilerFeatureTest extends TestCase
15
{
16
    public static function tearDownAfterClass(): void
17
    {
18
        DirectoryUtil::removeDir(__DIR__ . '/custom/profiler-dir');
19
    }
20
21
    protected function setUp(): void
22
    {
23
        DirectoryUtil::removeDir(__DIR__ . '/custom/profiler-dir');
24
    }
25
26
    public function test_custom_profiler_dir(): void
27
    {
28
        Gacela::bootstrap(__DIR__, static function (GacelaConfig $config): void {
29
            $config->resetInMemoryCache();
30
            $config->setProfilerEnabled(true);
31
            $config->setProfilerDirectory('/custom/profiler-dir');
32
        });
33
34
        $facade = new Module\Facade();
35
        self::assertSame('name', $facade->getName());
36
37
        self::assertFileExists(__DIR__ . '/custom/profiler-dir/' . ClassNameJsonProfiler::FILENAME);
38
        self::assertFileExists(__DIR__ . '/custom/profiler-dir/' . CustomServicesJsonProfiler::FILENAME);
39
    }
40
41
    public function test_custom_profiler_dir_but_profiler_disable(): void
42
    {
43
        Gacela::bootstrap(__DIR__, static function (GacelaConfig $config): void {
44
            $config->resetInMemoryCache();
45
            $config->setProfilerEnabled(false);
46
            $config->setProfilerDirectory('/custom/profiler-dir');
47
        });
48
49
        $facade = new Module\Facade();
50
        self::assertSame('name', $facade->getName());
51
52
        self::assertFileDoesNotExist(__DIR__ . '/custom/profiler-dir/' . ClassNameJsonProfiler::FILENAME);
53
        self::assertFileDoesNotExist(__DIR__ . '/custom/profiler-dir/' . CustomServicesJsonProfiler::FILENAME);
54
    }
55
}
56