function NodeBodyFieldStorageTest::testFieldOverrides

Same name in other branches
  1. 9 core/modules/node/tests/src/Kernel/NodeBodyFieldStorageTest.php \Drupal\Tests\node\Kernel\NodeBodyFieldStorageTest::testFieldOverrides()
  2. 8.9.x core/modules/node/tests/src/Kernel/NodeBodyFieldStorageTest.php \Drupal\Tests\node\Kernel\NodeBodyFieldStorageTest::testFieldOverrides()
  3. 10 core/modules/node/tests/src/Kernel/NodeBodyFieldStorageTest.php \Drupal\Tests\node\Kernel\NodeBodyFieldStorageTest::testFieldOverrides()

Tests node body field storage persistence even if there are no instances.

File

core/modules/node/tests/src/Kernel/NodeBodyFieldStorageTest.php, line 46

Class

NodeBodyFieldStorageTest
Tests node body field storage.

Namespace

Drupal\Tests\node\Kernel

Code

public function testFieldOverrides() : void {
    $field_storage = FieldStorageConfig::loadByName('node', 'body');
    $this->assertNotEmpty($field_storage, 'Node body field storage exists.');
    $type = NodeType::create([
        'name' => 'Ponies',
        'type' => 'ponies',
    ]);
    $type->save();
    node_add_body_field($type);
    $field_storage = FieldStorageConfig::loadByName('node', 'body');
    $this->assertCount(1, $field_storage->getBundles(), 'Node body field storage is being used on the new node type.');
    $field = FieldConfig::loadByName('node', 'ponies', 'body');
    $field->delete();
    $field_storage = FieldStorageConfig::loadByName('node', 'body');
    $this->assertCount(0, $field_storage->getBundles(), 'Node body field storage exists after deleting the only instance of a field.');
    \Drupal::service('module_installer')->uninstall([
        'node',
    ]);
    $field_storage = FieldStorageConfig::loadByName('node', 'body');
    $this->assertNull($field_storage, 'Node body field storage does not exist after uninstalling the Node module.');
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.