Passed
Pull Request — master (#2)
by Victor
02:42
created

PresenterMiddlewareTest::testProcessShouldLoadPresenterIfPresentationModelHasPresenterAndDoesNotHaveData()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 11
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 5
nc 1
nop 0
1
<?php
2
declare(strict_types=1);
3
4
namespace Shoot\Shoot\Tests\Middleware;
5
6
use PHPUnit\Framework\MockObject\MockObject;
7
use PHPUnit\Framework\TestCase;
8
use Psr\Http\Message\ServerRequestInterface;
9
use Shoot\Shoot\Middleware\PresenterMiddleware;
10
use Shoot\Shoot\Tests\Fixtures\ViewFactory;
11
use Shoot\Shoot\Tests\Mocks\ContainerStub;
12
use Shoot\Shoot\View;
13
14
final class PresenterMiddlewareTest extends TestCase
15
{
16
    /**
17
     * @return void
18
     */
19
    public function testShouldLoadPresenterIfPresentationModelHasPresenter()
20
    {
21
        /** @var ServerRequestInterface|MockObject $request */
22
        $request = $this->createMock(ServerRequestInterface::class);
23
        $middleware = new PresenterMiddleware(new ContainerStub());
24
        $view = ViewFactory::create();
25
        $next = function (View $view): View {
26
            return $view;
27
        };
28
29
        $this->assertEmpty($view->getPresentationModel()->getVariable('name', ''));
30
31
        $view = $middleware->process($view, $request, $next);
32
33
        $this->assertNotEmpty($view->getPresentationModel()->getVariable('name', ''));
34
    }
35
}
36