ViewExecutableFactoryTest.php
Same filename in other branches
Namespace
Drupal\Tests\views\UnitFile
-
core/
modules/ views/ tests/ src/ Unit/ ViewExecutableFactoryTest.php
View source
<?php
declare (strict_types=1);
namespace Drupal\Tests\views\Unit;
use Drupal\Tests\UnitTestCase;
use Drupal\views\ViewExecutableFactory;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RequestStack;
/**
* @coversDefaultClass \Drupal\views\ViewExecutableFactory
* @group views
*/
class ViewExecutableFactoryTest extends UnitTestCase {
/**
* The mock user object.
*
* @var \Drupal\Core\Session\AccountInterface|\PHPUnit\Framework\MockObject\MockObject
*/
protected $user;
/**
* The mock request stack object.
*
* @var \Symfony\Component\HttpFoundation\RequestStack
*/
protected $requestStack;
/**
* The mock view entity.
*
* @var \Drupal\Core\Config\Entity\ConfigEntityInterface|\PHPUnit\Framework\MockObject\MockObject
*/
protected $view;
/**
* The ViewExecutableFactory class under test.
*
* @var \Drupal\views\ViewExecutableFactory
*/
protected $viewExecutableFactory;
/**
* The mocked views data.
*
* @var \Drupal\views\ViewsData|\PHPUnit\Framework\MockObject\MockObject
*/
protected $viewsData;
/**
* The mocked route provider.
*
* @var \Drupal\Core\Routing\RouteProviderInterface|\PHPUnit\Framework\MockObject\MockObject
*/
protected $routeProvider;
/**
* The display plugin manager.
*
* @var \Drupal\Component\Plugin\PluginManagerInterface
*/
protected $displayPluginManager;
/**
* {@inheritdoc}
*/
protected function setUp() : void {
parent::setUp();
$this->user = $this->createMock('Drupal\\Core\\Session\\AccountInterface');
$this->requestStack = new RequestStack();
$this->view = $this->createMock('Drupal\\views\\ViewEntityInterface');
$this->viewsData = $this->getMockBuilder('Drupal\\views\\ViewsData')
->disableOriginalConstructor()
->getMock();
$this->routeProvider = $this->createMock('Drupal\\Core\\Routing\\RouteProviderInterface');
$this->displayPluginManager = $this->getMockBuilder('\\Drupal\\views\\Plugin\\ViewsPluginManager')
->disableOriginalConstructor()
->getMock();
$this->viewExecutableFactory = new ViewExecutableFactory($this->user, $this->requestStack, $this->viewsData, $this->routeProvider, $this->displayPluginManager);
}
/**
* Tests the get method.
*
* @covers ::get
*/
public function testGet() : void {
$request_1 = new Request();
$request_2 = new Request();
$this->requestStack
->push($request_1);
$executable = $this->viewExecutableFactory
->get($this->view);
$this->assertInstanceOf('Drupal\\views\\ViewExecutable', $executable);
$this->assertSame($executable->getRequest(), $request_1);
$this->assertSame($executable->getUser(), $this->user);
// Call get() again to ensure a new executable is created with the other
// request object.
$this->requestStack
->push($request_2);
$executable = $this->viewExecutableFactory
->get($this->view);
$this->assertInstanceOf('Drupal\\views\\ViewExecutable', $executable);
$this->assertSame($executable->getRequest(), $request_2);
$this->assertSame($executable->getUser(), $this->user);
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
ViewExecutableFactoryTest | @coversDefaultClass \Drupal\views\ViewExecutableFactory @group views |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.