function SqlContentEntityStorageTest::testLoadMultipleNoPersistentCache

Same name and namespace in other branches
  1. 8.9.x core/tests/Drupal/Tests/Core/Entity/Sql/SqlContentEntityStorageTest.php \Drupal\Tests\Core\Entity\Sql\SqlContentEntityStorageTest::testLoadMultipleNoPersistentCache()
  2. 10 core/tests/Drupal/Tests/Core/Entity/Sql/SqlContentEntityStorageTest.php \Drupal\Tests\Core\Entity\Sql\SqlContentEntityStorageTest::testLoadMultipleNoPersistentCache()
  3. 11.x core/tests/Drupal/Tests/Core/Entity/Sql/SqlContentEntityStorageTest.php \Drupal\Tests\Core\Entity\Sql\SqlContentEntityStorageTest::testLoadMultipleNoPersistentCache()

@covers ::doLoadMultiple
@covers ::buildCacheId
@covers ::getFromPersistentCache
@covers ::setPersistentCache

File

core/tests/Drupal/Tests/Core/Entity/Sql/SqlContentEntityStorageTest.php, line 1222

Class

SqlContentEntityStorageTest
@coversDefaultClass \Drupal\Core\Entity\Sql\SqlContentEntityStorage[[api-linebreak]] @group Entity

Namespace

Drupal\Tests\Core\Entity\Sql

Code

public function testLoadMultipleNoPersistentCache() {
  $this->setUpModuleHandlerNoImplementations();
  $id = 1;
  $entity = $this->getMockBuilder('\\Drupal\\Tests\\Core\\Entity\\Sql\\SqlContentEntityStorageTestEntityInterface')
    ->getMockForAbstractClass();
  $entity->expects($this->any())
    ->method('id')
    ->willReturn($id);
  $this->entityType
    ->expects($this->any())
    ->method('isPersistentlyCacheable')
    ->willReturn(FALSE);
  $this->entityType
    ->expects($this->atLeastOnce())
    ->method('id')
    ->willReturn($this->entityTypeId);
  // There should be no calls to the cache backend for an entity type without
  // persistent caching.
  $this->cache
    ->expects($this->never())
    ->method('getMultiple');
  $this->cache
    ->expects($this->never())
    ->method('set');
  $this->entityTypeManager
    ->expects($this->any())
    ->method('getActiveDefinition')
    ->willReturn($this->entityType);
  $entity_storage = $this->getMockBuilder('Drupal\\Core\\Entity\\Sql\\SqlContentEntityStorage')
    ->setConstructorArgs([
    $this->entityType,
    $this->connection,
    $this->entityFieldManager,
    $this->cache,
    $this->languageManager,
    new MemoryCache(),
    $this->entityTypeBundleInfo,
    $this->entityTypeManager,
  ])
    ->onlyMethods([
    'getFromStorage',
    'invokeStorageLoadHook',
    'initTableLayout',
  ])
    ->getMock();
  $entity_storage->method('invokeStorageLoadHook')
    ->willReturn(NULL);
  $entity_storage->method('initTableLayout')
    ->willReturn(NULL);
  $entity_storage->expects($this->once())
    ->method('getFromStorage')
    ->with([
    $id,
  ])
    ->willReturn([
    $id => $entity,
  ]);
  $entities = $entity_storage->loadMultiple([
    $id,
  ]);
  $this->assertEquals($entity, $entities[$id]);
}

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