You are here

public function PanelsEverywherePageDisplayVariantSubscriberTest::testSubscriberDoesNotStopPropagationForNoAccessibleVariantFound in Panels Everywhere 8.4

File

tests/src/Unit/EventSubscriber/PanelsEverywherePageDisplayVariantSubscriberTest.php, line 208

Class

PanelsEverywherePageDisplayVariantSubscriberTest
@coversDefaultClass \Drupal\panels_everywhere\EventSubscriber\PanelsEverywherePageDisplayVariantSubscriber @group panels_everywhere

Namespace

Drupal\Tests\panels_everywhere\Unit\EventSubscriber

Code

public function testSubscriberDoesNotStopPropagationForNoAccessibleVariantFound() {
  $page_id = 'some_page_id';
  $pageVariant = $this
    ->prophesize(PageVariantInterface::class);
  $pageVariant
    ->access('view')
    ->willReturn(FALSE);
  $page = $this
    ->prophesize(PageInterface::class);
  $page
    ->get('status')
    ->willReturn(TRUE);
  $page
    ->getVariants()
    ->willReturn([
    $pageVariant
      ->reveal(),
  ]);
  $pageStorage = $this
    ->prophesize(EntityStorageInterface::class);
  $pageStorage
    ->load($page_id)
    ->willReturn($page
    ->reveal());
  $pageStorage
    ->load('site_template')
    ->willReturn(NULL);
  $entity_type_manager = $this
    ->prophesize(EntityTypeManagerInterface::class);
  $entity_type_manager
    ->getStorage('page')
    ->willReturn($pageStorage
    ->reveal());
  $subscriber = new PanelsEverywherePageDisplayVariantSubscriber($entity_type_manager
    ->reveal());
  $route = new Route('/some-path');
  $route
    ->setOption('_admin_route', FALSE);
  $route
    ->setDefault('page_id', $page_id);
  $routeMatch = new RouteMatch('some.route_name', $route);
  $event = new PageDisplayVariantSelectionEvent('some_plugin_id', $routeMatch);

  // When.
  $subscriber
    ->onSelectPageDisplayVariant($event);

  // Then.
  self::assertFalse($event
    ->isPropagationStopped());
}