Skip to content

Commit 5beaa2b

Browse files
committed
First listener tests
1 parent 6928b5c commit 5beaa2b

File tree

4 files changed

+104
-1
lines changed

4 files changed

+104
-1
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace SFC\Staticfilecache\Tests\Unit\Cache\Listener;
6+
7+
use Psr\Http\Message\ServerRequestInterface;
8+
use SFC\Staticfilecache\Event\CacheRuleEvent;
9+
use SFC\Staticfilecache\Tests\Unit\AbstractTest;
10+
11+
abstract class AbstractListenerTest extends AbstractTest
12+
{
13+
14+
protected function emptyCacheRuleEvent(): CacheRuleEvent
15+
{
16+
return new CacheRuleEvent(
17+
$this->getMockBuilder(ServerRequestInterface::class)->getMock(),
18+
[],
19+
false
20+
);
21+
}
22+
23+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace SFC\Staticfilecache\Tests\Unit\Cache\Listener;
6+
7+
use Psr\Http\Message\ServerRequestInterface;
8+
use SFC\Staticfilecache\Cache\Listener\CachingAllowedListener;
9+
use SFC\Staticfilecache\Event\CacheRuleEvent;
10+
use TYPO3\CMS\Core\Information\Typo3Version;
11+
12+
class CachingAllowedListenerTest extends AbstractListenerTest
13+
{
14+
15+
public function testNoExplanation(): void
16+
{
17+
$version = $this->getMockBuilder(Typo3Version::class)->disableOriginalConstructor()->getMock();
18+
$version->method('getMajorVersion')->willReturn(12);
19+
20+
$listener = new CachingAllowedListener($version);
21+
22+
$event = $this->emptyCacheRuleEvent();
23+
$listener($event);
24+
25+
self::assertEquals([], $event->getExplanation());
26+
self::assertEquals(false, $event->isSkipProcessing());
27+
28+
}
29+
protected function emptyCacheRuleEvent(): CacheRuleEvent
30+
{
31+
return new CacheRuleEvent(
32+
$this->getMockBuilder(ServerRequestInterface::class)->getMock(),
33+
[],
34+
false
35+
);
36+
}
37+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace SFC\Staticfilecache\Tests\Unit\Cache\Listener;
6+
7+
use SFC\Staticfilecache\Cache\Listener\EnableListener;
8+
use SFC\Staticfilecache\Service\ConfigurationService;
9+
10+
class EnableListenerTest extends AbstractListenerTest
11+
{
12+
13+
public function testNoExplanation(): void
14+
{
15+
$configurationService = $this->getMockBuilder(ConfigurationService::class)->disableOriginalConstructor()->getMock();
16+
$configurationService->method('isBool')->willReturn(false);
17+
18+
$listener = new EnableListener($configurationService);
19+
20+
$event = $this->emptyCacheRuleEvent();
21+
$listener($event);
22+
23+
self::assertEquals([], $event->getExplanation());
24+
self::assertEquals(false, $event->isSkipProcessing());
25+
26+
}
27+
28+
29+
public function testAddExplanation(): void
30+
{
31+
$configurationService = $this->getMockBuilder(ConfigurationService::class)->disableOriginalConstructor()->getMock();
32+
$configurationService->method('isBool')->willReturn(true);
33+
34+
$listener = new EnableListener($configurationService);
35+
36+
$event = $this->emptyCacheRuleEvent();
37+
$listener($event);
38+
39+
self::assertNotEquals([], $event->getExplanation());
40+
self::assertEquals(false, $event->isSkipProcessing());
41+
42+
}
43+
}

Tests/UnitTests.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
<testsuite name="staticfilecache tests">
1010
<directory>Unit/</directory>
1111
<exclude>Unit/AbstractTest.php</exclude>
12-
<exclude>Unit/Cache/Rule/AbstractRuleTest.php</exclude>
1312
<exclude>Unit/Service/HttpPush/AbstractHttpPushTest.php</exclude>
13+
<exclude>Unit/Cache/Listener/AbstractListenerTest.php</exclude>
1414
</testsuite>
1515
</testsuites>
1616
<source>

0 commit comments

Comments
 (0)