Passed
Pull Request — master (#224)
by
unknown
13:06
created

MiddlewareHandlerTest::testHandler()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 23
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 14
nc 1
nop 0
dl 0
loc 23
rs 9.7998
c 1
b 0
f 0
1
<?php
2
3
namespace Yiisoft\Yii\Web\Tests\RequestHandler;
4
5
use PHPUnit\Framework\TestCase;
6
use Psr\Http\Message\ResponseInterface;
7
use Psr\Http\Message\ServerRequestInterface;
8
use Psr\Http\Server\MiddlewareInterface;
9
use Psr\Http\Server\RequestHandlerInterface;
10
use Yiisoft\Yii\Web\RequestHandler\MiddlewareHandler;
11
12
final class MiddlewareHandlerTest extends TestCase
13
{
14
    public function testHandler(): void
15
    {
16
        $response = $this->createMock(ResponseInterface::class);
17
18
        $middleware = $this->createMock(MiddlewareInterface::class);
19
        $requestHandler = $this->createMock(RequestHandlerInterface::class);
20
21
        $middleware->expects($this->once())
22
            ->method('process')
23
            ->willReturnCallback(
24
                static function (ServerRequestInterface $request, RequestHandlerInterface $handler) {
25
                    return $handler->handle($request);
26
                }
27
            );
28
        $requestHandler->expects($this->once())
29
            ->method('handle')
30
            ->willReturn($response);
31
32
        $handler = new MiddlewareHandler($middleware, $requestHandler);
33
34
        $result = $handler->handle($this->createMock(ServerRequestInterface::class));
35
36
        $this->assertSame($response, $result);
37
    }
38
}
39