summaryrefslogtreecommitdiffstats
path: root/tests/Router/RunnerTest.php
blob: 3e558b4febc6e49f9a6fc6c2ff078d1a9a823da0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php

use Jasny\Router\Runner;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Message\ResponseInterface;

use Jasny\Router\TestHelpers;

/**
 * @covers Jasny\Router\Runner
 */
class RunnerTest extends PHPUnit_Framework_TestCase
{
    use TestHelpers;
    
    /**
     * Test runner __invoke method
     */
    public function testInvoke()
    {
        $runner = $this->getMockBuilder(Runner::class)
            ->disableOriginalConstructor()
            ->getMockForAbstractClass();
        
        $request = $this->createMock(ServerRequestInterface::class);
        
        $response = $this->createMock(ResponseInterface::class);
        $runResponse = $this->createMock(ResponseInterface::class);
        $finalResponse = $this->createMock(ResponseInterface::class);

        $runner->expects($this->once())->method('run')
            ->with($request, $response)
            ->willReturn($runResponse);
        
        $next = $this->createCallbackMock($this->once(), [$request, $runResponse], $finalResponse);
        
        $runner($request, $response, $next);
    }
}