You are here

public function PanelsEverywhereRouteSubscriberTest::testSubscriberDoesNothingForNoPageEntities in Panels Everywhere 8.4

Tests onAlterRoutes.

Specifically that PanelsEverywhereRouteSubscriber does nothing if there are no page entities.

File

tests/src/Unit/Routing/PanelsEverywhereRouteSubscriberTest.php, line 30

Class

PanelsEverywhereRouteSubscriberTest
@coversDefaultClass \Drupal\panels_everywhere\Routing\PanelsEverywhereRouteSubscriber @group panels_everywhere

Namespace

Drupal\Tests\panels_everywhere\Unit\Routing

Code

public function testSubscriberDoesNothingForNoPageEntities() {

  // Given.
  $pageStorage = $this
    ->prophesize(EntityStorageInterface::class);
  $pageStorage
    ->loadMultiple()
    ->willReturn([]);
  $entityTypeManager = $this
    ->prophesize(EntityTypeManagerInterface::class);
  $entityTypeManager
    ->getStorage('page')
    ->willReturn($pageStorage
    ->reveal());
  $cacheTagsInvalidator = $this
    ->prophesize(CacheTagsInvalidatorInterface::class);
  $routeCollection = new RouteCollection();
  $event = new RouteBuildEvent($routeCollection);

  // When.
  $subscriber = new PanelsEverywhereRouteSubscriber($entityTypeManager
    ->reveal(), $cacheTagsInvalidator
    ->reveal());
  $subscriber
    ->onAlterRoutes($event);

  // Then.
  self::assertEmpty($routeCollection
    ->all());
}