Passed
Pull Request — master (#208)
by Jesús
07:17 queued 03:55
created

FileCacheFeatureTest::test_custom_cache_dir()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 13
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 8
dl 0
loc 13
rs 10
c 1
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace GacelaTest\Feature\Framework\FileCache;
6
7
use Gacela\Framework\Bootstrap\GacelaConfig;
8
use Gacela\Framework\ClassResolver\Cache\ClassNamePhpCache;
9
use Gacela\Framework\ClassResolver\Cache\CustomServicesPhpCache;
10
use Gacela\Framework\Gacela;
11
use GacelaTest\Feature\Util\DirectoryUtil;
12
use PHPUnit\Framework\TestCase;
13
14
final class FileCacheFeatureTest extends TestCase
15
{
16
    public static function tearDownAfterClass(): void
17
    {
18
        DirectoryUtil::removeDir(__DIR__ . '/custom/cache-dir');
19
    }
20
21
    protected function setUp(): void
22
    {
23
        DirectoryUtil::removeDir(__DIR__ . '/custom/cache-dir');
24
    }
25
26
    public function test_custom_cache_dir(): void
27
    {
28
        Gacela::bootstrap(__DIR__, static function (GacelaConfig $config): void {
29
            $config->resetInMemoryCache();
30
            $config->setFileCacheEnabled(true);
31
            $config->setFileCacheDirectory('/custom/cache-dir');
32
        });
33
34
        $facade = new Module\Facade();
35
        self::assertSame('name', $facade->getName());
36
37
        self::assertFileExists(__DIR__ . '/custom/cache-dir/' . ClassNamePhpCache::FILENAME);
38
        self::assertFileExists(__DIR__ . '/custom/cache-dir/' . CustomServicesPhpCache::FILENAME);
39
    }
40
41
    public function test_custom_cache_dir_but_cache_disable(): void
42
    {
43
        Gacela::bootstrap(__DIR__, static function (GacelaConfig $config): void {
44
            $config->resetInMemoryCache();
45
            $config->setFileCacheEnabled(false);
46
            $config->setFileCacheDirectory('/custom/cache-dir');
47
        });
48
49
        $facade = new Module\Facade();
50
        self::assertSame('name', $facade->getName());
51
52
        self::assertFileDoesNotExist(__DIR__ . '/custom/cache-dir/' . ClassNamePhpCache::FILENAME);
53
        self::assertFileDoesNotExist(__DIR__ . '/custom/cache-dir/' . CustomServicesPhpCache::FILENAME);
54
    }
55
}
56