PsrResponseSubscriberTest.php in Drupal 10
File
core/tests/Drupal/Tests/Core/EventSubscriber/PsrResponseSubscriberTest.php
View source
<?php
namespace Drupal\Tests\Core\EventSubscriber;
use Drupal\Tests\UnitTestCase;
use Drupal\Core\EventSubscriber\PsrResponseSubscriber;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Event\ViewEvent;
use Symfony\Component\HttpKernel\HttpKernelInterface;
class PsrResponseSubscriberTest extends UnitTestCase {
protected $psrResponseSubscriber;
protected $httpFoundationFactoryMock;
protected function setUp() : void {
$factory = $this
->getMockBuilder('Symfony\\Bridge\\PsrHttpMessage\\HttpFoundationFactoryInterface')
->disableOriginalConstructor()
->getMock();
$factory
->expects($this
->any())
->method('createResponse')
->willReturn($this
->createMock('Symfony\\Component\\HttpFoundation\\Response'));
$this->httpFoundationFactoryMock = $factory;
$this->psrResponseSubscriber = new PsrResponseSubscriber($this->httpFoundationFactoryMock);
}
public function testConvertsControllerResult() {
$event = $this
->createEvent($this
->createMock('Psr\\Http\\Message\\ResponseInterface'));
$this->psrResponseSubscriber
->onKernelView($event);
$this
->assertInstanceOf(Response::class, $event
->getResponse());
}
public function testDoesNotConvertControllerResult() {
$event = $this
->createEvent([]);
$this->psrResponseSubscriber
->onKernelView($event);
$this
->assertNull($event
->getResponse());
$event = $this
->createEvent(NULL);
$this->psrResponseSubscriber
->onKernelView($event);
$this
->assertNull($event
->getResponse());
}
protected function createEvent($controller_result) {
return new ViewEvent($this
->createMock(HttpKernelInterface::class), $this
->createMock(Request::class), HttpKernelInterface::MAIN_REQUEST, $controller_result);
}
}