You are here

public function OverridesSectionStorageTest::testIsOverridden in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/layout_builder/tests/src/Kernel/OverridesSectionStorageTest.php \Drupal\Tests\layout_builder\Kernel\OverridesSectionStorageTest::testIsOverridden()
  2. 10 core/modules/layout_builder/tests/src/Kernel/OverridesSectionStorageTest.php \Drupal\Tests\layout_builder\Kernel\OverridesSectionStorageTest::testIsOverridden()

@covers ::isOverridden

File

core/modules/layout_builder/tests/src/Kernel/OverridesSectionStorageTest.php, line 276

Class

OverridesSectionStorageTest
@coversDefaultClass \Drupal\layout_builder\Plugin\SectionStorage\OverridesSectionStorage

Namespace

Drupal\Tests\layout_builder\Kernel

Code

public function testIsOverridden() {
  $display = LayoutBuilderEntityViewDisplay::create([
    'targetEntityType' => 'entity_test',
    'bundle' => 'entity_test',
    'mode' => 'default',
    'status' => TRUE,
  ]);
  $display
    ->enableLayoutBuilder()
    ->setOverridable()
    ->save();
  $entity = EntityTest::create();
  $entity
    ->set(OverridesSectionStorage::FIELD_NAME, [
    new Section('layout_onecol'),
  ]);
  $entity
    ->save();
  $entity = EntityTest::load($entity
    ->id());
  $context = EntityContext::fromEntity($entity);
  $this->plugin
    ->setContext('entity', $context);
  $this
    ->assertTrue($this->plugin
    ->isOverridden());
  $this->plugin
    ->removeSection(0);
  $this
    ->assertTrue($this->plugin
    ->isOverridden());
  $this->plugin
    ->removeAllSections(TRUE);
  $this
    ->assertTrue($this->plugin
    ->isOverridden());
  $this->plugin
    ->removeAllSections();
  $this
    ->assertFalse($this->plugin
    ->isOverridden());
}