function EntityFieldManagerTest::testGetFieldDefinitionsWithCaching

Same name and namespace in other branches
  1. 10 core/tests/Drupal/Tests/Core/Entity/EntityFieldManagerTest.php \Drupal\Tests\Core\Entity\EntityFieldManagerTest::testGetFieldDefinitionsWithCaching()
  2. 9 core/tests/Drupal/Tests/Core/Entity/EntityFieldManagerTest.php \Drupal\Tests\Core\Entity\EntityFieldManagerTest::testGetFieldDefinitionsWithCaching()
  3. 8.9.x core/tests/Drupal/Tests/Core/Entity/EntityFieldManagerTest.php \Drupal\Tests\Core\Entity\EntityFieldManagerTest::testGetFieldDefinitionsWithCaching()

Tests the getFieldDefinitions() method with caching.

File

core/tests/Drupal/Tests/Core/Entity/EntityFieldManagerTest.php, line 458

Class

EntityFieldManagerTest
Tests Drupal\Core\Entity\EntityFieldManager.

Namespace

Drupal\Tests\Core\Entity

Code

public function testGetFieldDefinitionsWithCaching() : void {
  $this->entityTypeBundleInfo
    ->getBundleInfo('test_entity_type')
    ->willReturn([
    'test_bundle' => 'test_bundle',
  ])
    ->shouldBeCalled();
  $field_definition = $this->setUpEntityWithFieldDefinition(FALSE, 'id');
  $expected = [
    'id' => $field_definition,
  ];
  $this->cacheBackend
    ->get('entity_base_field_definitions:test_entity_type:en')
    ->willReturn((object) [
    'data' => $expected,
  ])
    ->shouldBeCalledTimes(2);
  $this->cacheBackend
    ->get('entity_bundle_field_definitions:test_entity_type:test_bundle:en')
    ->willReturn(FALSE)
    ->shouldBeCalledTimes(2);
  $this->cacheBackend
    ->setMultiple([
    'entity_bundle_field_definitions:test_entity_type:test_bundle:en' => [
      'data' => [],
      'tags' => [
        'entity_types',
        'entity_field_info',
      ],
    ],
  ])
    ->shouldBeCalledTimes(2);
  $this->assertSame($expected, $this->entityFieldManager
    ->getFieldDefinitions('test_entity_type', 'test_bundle'));
  $this->entityFieldManager
    ->testClearEntityFieldInfo();
  $this->assertSame($expected, $this->entityFieldManager
    ->getFieldDefinitions('test_entity_type', 'test_bundle'));
}

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