Loading core/modules/views/src/Views.php +3 −2 Original line number Diff line number Diff line Loading @@ -115,14 +115,15 @@ public static function handlerManager($type) { * @param string $id * The view ID to load. * * @return \Drupal\views\ViewExecutable * A view executable instance, from the loaded entity. * @return \Drupal\views\ViewExecutable|null * A view executable instance or NULL if the view does not exist. */ public static function getView($id) { $view = \Drupal::entityTypeManager()->getStorage('view')->load($id); if ($view) { return static::executableFactory()->get($view); } return NULL; } /** Loading core/modules/views/tests/src/Unit/ViewsTest.php +16 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ namespace Drupal\Tests\views\Unit; use Drupal\Core\Entity\EntityStorageInterface; use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Tests\UnitTestCase; use Drupal\views\Views; Loading Loading @@ -72,6 +73,21 @@ public function testGetView() { $this->assertEquals(spl_object_hash($view), spl_object_hash($executable->storage)); } /** * Tests the getView() method against a non-existent view. * * @covers ::getView */ public function testGetNonExistentView() { $entity_type_manager = $this->prophesize(EntityTypeManagerInterface::class); $storage = $this->prophesize(EntityStorageInterface::class); $storage->load('test_view_non_existent')->willReturn(NULL); $entity_type_manager->getStorage('view')->willReturn($storage->reveal()); $this->container->set('entity_type.manager', $entity_type_manager->reveal()); $executable_does_not_exist = Views::getView('test_view_non_existent'); $this->assertNull($executable_does_not_exist); } /** * @covers ::getApplicableViews * Loading Loading
core/modules/views/src/Views.php +3 −2 Original line number Diff line number Diff line Loading @@ -115,14 +115,15 @@ public static function handlerManager($type) { * @param string $id * The view ID to load. * * @return \Drupal\views\ViewExecutable * A view executable instance, from the loaded entity. * @return \Drupal\views\ViewExecutable|null * A view executable instance or NULL if the view does not exist. */ public static function getView($id) { $view = \Drupal::entityTypeManager()->getStorage('view')->load($id); if ($view) { return static::executableFactory()->get($view); } return NULL; } /** Loading
core/modules/views/tests/src/Unit/ViewsTest.php +16 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ namespace Drupal\Tests\views\Unit; use Drupal\Core\Entity\EntityStorageInterface; use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Tests\UnitTestCase; use Drupal\views\Views; Loading Loading @@ -72,6 +73,21 @@ public function testGetView() { $this->assertEquals(spl_object_hash($view), spl_object_hash($executable->storage)); } /** * Tests the getView() method against a non-existent view. * * @covers ::getView */ public function testGetNonExistentView() { $entity_type_manager = $this->prophesize(EntityTypeManagerInterface::class); $storage = $this->prophesize(EntityStorageInterface::class); $storage->load('test_view_non_existent')->willReturn(NULL); $entity_type_manager->getStorage('view')->willReturn($storage->reveal()); $this->container->set('entity_type.manager', $entity_type_manager->reveal()); $executable_does_not_exist = Views::getView('test_view_non_existent'); $this->assertNull($executable_does_not_exist); } /** * @covers ::getApplicableViews * Loading