49 lines
1.3 KiB
PHP
49 lines
1.3 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace AppTest\Action;
|
||
|
|
|
||
|
|
use App\Action\HomePageAction;
|
||
|
|
use Interop\Http\ServerMiddleware\DelegateInterface;
|
||
|
|
use PHPUnit\Framework\TestCase;
|
||
|
|
use Prophecy\Argument;
|
||
|
|
use Psr\Http\Message\ServerRequestInterface;
|
||
|
|
use Zend\Config\Config;
|
||
|
|
use Zend\Diactoros\Response\HtmlResponse;
|
||
|
|
use Zend\Expressive\Router\RouterInterface;
|
||
|
|
use Zend\Expressive\Template\TemplateRendererInterface;
|
||
|
|
|
||
|
|
class HomePageActionTest extends TestCase
|
||
|
|
{
|
||
|
|
/** @var RouterInterface */
|
||
|
|
protected $router;
|
||
|
|
|
||
|
|
/** @var TemplateRendererInterface */
|
||
|
|
protected $renderer;
|
||
|
|
|
||
|
|
protected function setUp()
|
||
|
|
{
|
||
|
|
$this->router = $this->prophesize(RouterInterface::class);
|
||
|
|
$this->renderer = $this->prophesize(TemplateRendererInterface::class);
|
||
|
|
}
|
||
|
|
|
||
|
|
public function testReturnsHtmlResponse()
|
||
|
|
{
|
||
|
|
$this->renderer
|
||
|
|
->render('app::home-page', Argument::type('array'))
|
||
|
|
->willReturn('');
|
||
|
|
|
||
|
|
$homePage = new HomePageAction(
|
||
|
|
$this->router->reveal(),
|
||
|
|
$this->renderer->reveal(),
|
||
|
|
$this->prophesize(Config::class)->reveal()
|
||
|
|
);
|
||
|
|
|
||
|
|
$response = $homePage->process(
|
||
|
|
$this->prophesize(ServerRequestInterface::class)->reveal(),
|
||
|
|
$this->prophesize(DelegateInterface::class)->reveal()
|
||
|
|
);
|
||
|
|
|
||
|
|
$this->assertInstanceOf(HtmlResponse::class, $response);
|
||
|
|
}
|
||
|
|
}
|