FlushCacheTest   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testExecuteFlushesCache() 0 10 1
A setUp() 0 7 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace AbterPhp\Framework\Console\Commands\Template;
6
7
use AbterPhp\Framework\Template\CacheManager;
8
use Opulence\Console\Responses\IResponse;
9
use PHPUnit\Framework\MockObject\MockObject;
10
use PHPUnit\Framework\TestCase;
11
12
class FlushCacheTest extends TestCase
13
{
14
    /** @var FlushCache - System Under Test */
15
    protected FlushCache $sut;
16
17
    /** @var CacheManager|MockObject */
18
    protected $cacheManagerMock;
19
20
    public function setUp(): void
21
    {
22
        $this->cacheManagerMock = $this->getMockBuilder(CacheManager::class)
23
            ->disableOriginalConstructor()
24
            ->getMock();
25
26
        $this->sut = new FlushCache($this->cacheManagerMock);
27
    }
28
29
    public function testExecuteFlushesCache(): void
30
    {
31
        $responseMock = $this->getMockBuilder(IResponse::class)
32
            ->disableOriginalConstructor()
33
            ->getMock();
34
35
        $this->cacheManagerMock->expects($this->atLeastOnce())->method('flush');
36
        $responseMock->expects($this->atLeastOnce())->method('writeln');
37
38
        $this->sut->execute($responseMock);
39
    }
40
}
41