RequestMethodCheckTest   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 11
c 0
b 0
f 0
dl 0
loc 30
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A data() 0 6 1
A testConfiguration() 0 11 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Lochmueller\LanguageDetection\Tests\Unit\Check;
6
7
use Lochmueller\LanguageDetection\Check\RequestMethodCheck;
8
use Lochmueller\LanguageDetection\Event\CheckLanguageDetectionEvent;
9
use Lochmueller\LanguageDetection\Tests\Unit\AbstractUnitTest;
10
use Psr\Http\Message\ServerRequestInterface;
11
use TYPO3\CMS\Core\Site\Entity\Site;
12
13
/**
14
 * @internal
15
 *
16
 * @coversNothing
17
 */
18
class RequestMethodCheckTest extends AbstractUnitTest
19
{
20
    /**
21
     * @covers \Lochmueller\LanguageDetection\Check\RequestMethodCheck
22
     * @covers \Lochmueller\LanguageDetection\Event\CheckLanguageDetectionEvent
23
     *
24
     * @dataProvider data
25
     */
26
    public function testConfiguration(string $method, bool $result): void
27
    {
28
        $request = $this->createStub(ServerRequestInterface::class);
29
        $request->method('getMethod')->willReturn($method);
30
31
        $event = new CheckLanguageDetectionEvent($this->createMock(Site::class), $request);
32
33
        $requestMethodCheck = new RequestMethodCheck();
34
        $requestMethodCheck($event);
35
36
        self::assertEquals($result, $event->isLanguageDetectionEnable());
37
    }
38
39
    /**
40
     * @return array<string, mixed[]>
41
     */
42
    public static function data(): array
43
    {
44
        return [
45
            'Right request method' => ['GET', true],
46
            'Wrong request method' => ['POST', false],
47
            'Wrong request method 2' => ['PUT', false],
48
        ];
49
    }
50
}
51