Passed
Push — master ( 37e483...d2fc64 )
by Wilmer
11:53 queued 09:06
created

QueryCacheTest::testIsEnabled()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 2
nc 1
nop 0
dl 0
loc 5
rs 10
c 1
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Yiisoft\Db\Tests\Cache;
6
7
use PHPUnit\Framework\TestCase;
8
use Yiisoft\Cache\CacheInterface;
9
use Yiisoft\Cache\Dependency\TagDependency;
10
use Yiisoft\Db\Cache\QueryCache;
11
use Yiisoft\Db\Tests\Support\Assert;
12
use Yiisoft\Db\Tests\Support\DbHelper;
13
use Yiisoft\Db\Tests\Support\TestTrait;
14
15
/**
16
 * @group db
17
 */
18
final class QueryCacheTest extends TestCase
19
{
20
    use TestTrait;
21
22
    public function testConstruct(): void
23
    {
24
        $queryCache = new QueryCache(DbHelper::getCache());
25
26
        $this->assertInstanceOf(CacheInterface::class, Assert::getInaccessibleProperty($queryCache, 'cache'));
27
    }
28
29
    public function testInfo(): void
30
    {
31
        $queryCache = new QueryCache(DbHelper::getCache());
32
33
        $tagDependency = new TagDependency('tag');
34
        $queryCache->setInfo([3600, $tagDependency]);
35
36
        $this->assertIsArray($queryCache->info(null));
37
        $this->assertIsArray($queryCache->info(3600));
38
    }
39
40
    public function testIsEnabled(): void
41
    {
42
        $queryCache = new QueryCache(DbHelper::getCache());
43
44
        $this->assertTrue($queryCache->isEnabled());
45
    }
46
47
    public function testRemoveLastInfo(): void
48
    {
49
        $queryCache = new QueryCache(DbHelper::getCache());
50
51
        $tagDependency = new TagDependency('tag');
52
        $queryCache->setInfo([3600, $tagDependency]);
53
54
        $this->assertIsArray($queryCache->info(null));
55
        $this->assertIsArray($queryCache->info(3600));
56
57
        $queryCache->removeLastInfo();
58
59
        $this->assertNull($queryCache->info(null));
60
        $this->assertIsArray($queryCache->info(3600));
61
    }
62
63
    public function testSetDuration(): void
64
    {
65
        $queryCache = new QueryCache(DbHelper::getCache());
66
67
        $queryCache->setDuration(10);
68
69
        $this->assertSame(10, $queryCache->getDuration());
70
    }
71
72
    public function testSetEnable(): void
73
    {
74
        $queryCache = new QueryCache(DbHelper::getCache());
75
76
        $queryCache->setEnable(false);
77
78
        $this->assertFalse($queryCache->isEnabled());
79
    }
80
81
    public function testSetInfo(): void
82
    {
83
        $queryCache = new QueryCache(DbHelper::getCache());
84
85
        $queryCache->setInfo('test');
86
87
        $this->assertSame(['test'], Assert::getInaccessibleProperty($queryCache, 'info'));
88
89
        $queryCache->setInfo(['test2']);
90
91
        $this->assertSame(['test', ['test2']], Assert::getInaccessibleProperty($queryCache, 'info'));
92
    }
93
}
94