You are here

protected function PanelizerQuickEditTest::setUp in Panelizer 8.5

Same name and namespace in other branches
  1. 8.3 panelizer_quickedit/tests/src/FunctionalJavascript/PanelizerQuickEditTest.php \Drupal\Tests\panelizer_quickedit\FunctionalJavascript\PanelizerQuickEditTest::setUp()
  2. 8.4 panelizer_quickedit/tests/src/FunctionalJavascript/PanelizerQuickEditTest.php \Drupal\Tests\panelizer_quickedit\FunctionalJavascript\PanelizerQuickEditTest::setUp()

Overrides BrowserTestBase::setUp

File

panelizer_quickedit/tests/src/FunctionalJavascript/PanelizerQuickEditTest.php, line 34

Class

PanelizerQuickEditTest
Tests that a Panelized Node can be Quick-Edited.

Namespace

Drupal\Tests\panelizer_quickedit\FunctionalJavascript

Code

protected function setUp() {
  parent::setUp();
  $this
    ->drupalCreateContentType([
    'type' => 'page',
    'name' => 'Page',
  ]);

  // Add a plain text field for this content type.
  FieldStorageConfig::create([
    'field_name' => 'test_field',
    'entity_type' => 'node',
    'type' => 'string',
  ])
    ->save();
  FieldConfig::create([
    'field_name' => 'test_field',
    'label' => 'Test Field',
    'entity_type' => 'node',
    'bundle' => 'page',
    'required' => FALSE,
    'settings' => [],
    'description' => '',
  ])
    ->save();

  /** @var \Drupal\Core\Entity\Display\EntityFormDisplayInterface $entity_form_display */
  $entity_form_display = \Drupal::entityTypeManager()
    ->getStorage('entity_form_display')
    ->load('node.page.default');
  $entity_form_display
    ->setComponent('test_field')
    ->save();

  /** @var \Drupal\Core\Entity\Display\EntityViewDisplayInterface $entity_display */
  $entity_display = \Drupal::entityTypeManager()
    ->getStorage('entity_view_display')
    ->load('node.page.default');
  $entity_display
    ->setComponent('test_field')
    ->save();

  // Create a privileged user.
  $user = $this
    ->drupalCreateUser([
    'access contextual links',
    'access in-place editing',
    'access content',
    'administer node display',
    'administer panelizer',
    'create page content',
    'edit any page content',
  ]);
  $this
    ->drupalLogin($user);

  // Enable Panelizer for pages.
  $this
    ->drupalGet('admin/structure/types/manage/page/display');
  $this->container
    ->get('panelizer')
    ->setPanelizerSettings('node', 'page', 'default', [
    'enable' => TRUE,
    'allow' => FALSE,
    'custom' => FALSE,
    'default' => 'default',
  ]);
}