LanguageDetectionMiddlewareTest   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 13
c 0
b 0
f 0
dl 0
loc 32
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testMiddlewareWillExecuteDefaultHandler() 0 12 1
A testMiddlewareWillExecuteLanguageDetection() 0 9 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Lochmueller\LanguageDetection\Tests\Unit\Middleware;
6
7
use Lochmueller\LanguageDetection\Handler\Exception\NoSelectedLanguageException;
0 ignored issues
show
Bug introduced by
The type Lochmueller\LanguageDete...lectedLanguageException was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
8
use Lochmueller\LanguageDetection\Handler\LanguageDetectionHandler;
9
use Lochmueller\LanguageDetection\Middleware\LanguageDetectionMiddleware;
10
use Lochmueller\LanguageDetection\Tests\Unit\AbstractUnitTest;
11
use Psr\Http\Message\ServerRequestInterface;
12
use Psr\Http\Server\RequestHandlerInterface;
13
use TYPO3\CMS\Core\Http\NullResponse;
14
15
/**
16
 * @internal
17
 *
18
 * @coversNothing
19
 */
20
class LanguageDetectionMiddlewareTest extends AbstractUnitTest
21
{
22
    /**
23
     * @covers \Lochmueller\LanguageDetection\Middleware\LanguageDetectionMiddleware
24
     */
25
    public function testMiddlewareWillExecuteLanguageDetection(): void
26
    {
27
        $languageDetectionHandler = $this->createStub(LanguageDetectionHandler::class);
28
        $languageDetectionHandler->method('handle')->willReturn(new NullResponse());
29
30
        $middleware = new LanguageDetectionMiddleware($languageDetectionHandler);
31
        $result = $middleware->process($this->createMock(ServerRequestInterface::class), $this->createMock(RequestHandlerInterface::class));
32
33
        self::assertInstanceOf(NullResponse::class, $result);
34
    }
35
36
    /**
37
     * @covers \Lochmueller\LanguageDetection\Handler\Exception\NoSelectedLanguageException
38
     * @covers \Lochmueller\LanguageDetection\Middleware\LanguageDetectionMiddleware
39
     */
40
    public function testMiddlewareWillExecuteDefaultHandler(): void
41
    {
42
        $languageDetectionHandler = $this->createStub(LanguageDetectionHandler::class);
43
        $languageDetectionHandler->method('handle')->willThrowException(new NoSelectedLanguageException());
44
45
        $defaultHandler = $this->createStub(RequestHandlerInterface::class);
46
        $defaultHandler->method('handle')->willReturn(new NullResponse());
47
48
        $middleware = new LanguageDetectionMiddleware($languageDetectionHandler);
49
        $result = $middleware->process($this->createMock(ServerRequestInterface::class), $defaultHandler);
50
51
        self::assertInstanceOf(NullResponse::class, $result);
52
    }
53
}
54