ExtraFieldUpdatePathTest.php in Drupal 8
File
core/modules/layout_builder/tests/src/Functional/Update/ExtraFieldUpdatePathTest.php
View source
<?php
namespace Drupal\Tests\layout_builder\Functional\Update;
use Drupal\Core\Entity\Entity\EntityViewDisplay;
use Drupal\FunctionalTests\Update\UpdatePathTestBase;
class ExtraFieldUpdatePathTest extends UpdatePathTestBase {
protected function setDatabaseDumpFiles() {
$this->databaseDumpFiles = [
__DIR__ . '/../../../../../system/tests/fixtures/update/drupal-8.4.0.bare.standard.php.gz',
__DIR__ . '/../../../fixtures/update/layout-builder.php',
__DIR__ . '/../../../fixtures/update/layout-builder-extra.php',
];
}
public function testRunUpdates() {
$data = EntityViewDisplay::load('node.article.default')
->toArray();
$this
->assertArrayHasKey('third_party_settings', $data);
$this
->assertArrayNotHasKey('sections', $data['third_party_settings']['layout_builder']);
$data = EntityViewDisplay::load('node.article.teaser')
->toArray();
$this
->assertArrayNotHasKey('third_party_settings', $data);
$this
->runUpdates();
$data = EntityViewDisplay::load('node.article.default')
->toArray();
$components = $data['third_party_settings']['layout_builder']['sections'][0]
->getComponents();
$component = reset($components);
$this
->assertSame('extra_field_block:node:article:links', $component
->getPluginId());
$data = EntityViewDisplay::load('node.article.teaser')
->toArray();
$this
->assertArrayNotHasKey('third_party_settings', $data);
}
}