Passed
Pull Request — master (#225)
by
unknown
17:44 queued 07:08
created

MiddlewareHandlerTest::testHandler()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 24
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

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