You are here

public function PanelizerUserFunctionalTest::testPanelizerDefault in Panelizer 8.5

Same name and namespace in other branches
  1. 8.4 tests/src/Functional/PanelizerUserFunctionalTest.php \Drupal\Tests\panelizer\Functional\PanelizerUserFunctionalTest::testPanelizerDefault()

Tests rendering a user with Panelizer default.

File

tests/src/Functional/PanelizerUserFunctionalTest.php, line 262

Class

PanelizerUserFunctionalTest
Basic functional tests of using Panelizer with user entities.

Namespace

Drupal\Tests\panelizer\Functional

Code

public function testPanelizerDefault() {
  $assert_session = $this
    ->assertSession();

  /** @var \Drupal\panelizer\PanelizerInterface $panelizer */
  $panelizer = \Drupal::service('panelizer');
  $displays = $panelizer
    ->getDefaultPanelsDisplays('user', 'user', 'full');
  $display = $displays['default'];
  $display
    ->addBlock([
    'id' => 'panelizer_test',
    'label' => 'Panelizer test',
    'provider' => 'block_content',
    'region' => 'content',
  ]);
  $panelizer
    ->setDefaultPanelsDisplay('default', 'user', 'user', 'full', $display);

  // Create a user, and check that the IPE is visible on it.
  $account = $this
    ->drupalCreateUser();

  // Check the user entity page.
  $out = $this
    ->drupalGet($account
    ->toUrl());
  $assert_session
    ->statusCodeEquals(200);
  $this
    ->verbose($out);

  // Verify that Panels is rendering the page.
  $assert_session
    ->elementsCount('css', '#panels-ipe-content', 1);

  // Check that the block we added is visible.
  $assert_session
    ->pageTextContains('Panelizer test');
  $assert_session
    ->pageTextContains('Abracadabra');
}