public function SqlContentEntityStorageTest::testLoadMultiplePersistentCacheMiss in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/tests/Drupal/Tests/Core/Entity/Sql/SqlContentEntityStorageTest.php \Drupal\Tests\Core\Entity\Sql\SqlContentEntityStorageTest::testLoadMultiplePersistentCacheMiss()
@covers ::doLoadMultiple @covers ::buildCacheId @covers ::getFromPersistentCache @covers ::setPersistentCache
File
- core/
tests/ Drupal/ Tests/ Core/ Entity/ Sql/ SqlContentEntityStorageTest.php, line 1149 - Contains \Drupal\Tests\Core\Entity\Sql\SqlContentEntityStorageTest.
Class
- SqlContentEntityStorageTest
- @coversDefaultClass \Drupal\Core\Entity\Sql\SqlContentEntityStorage @group Entity
Namespace
Drupal\Tests\Core\Entity\SqlCode
public function testLoadMultiplePersistentCacheMiss() {
$this
->setUpModuleHandlerNoImplementations();
$id = 1;
$entity = $this
->getMockBuilder('\\Drupal\\Tests\\Core\\Entity\\Sql\\SqlContentEntityStorageTestEntityInterface')
->getMockForAbstractClass();
$entity
->expects($this
->any())
->method('id')
->will($this
->returnValue($id));
$this->entityType
->expects($this
->any())
->method('isPersistentlyCacheable')
->will($this
->returnValue(TRUE));
$this->entityType
->expects($this
->atLeastOnce())
->method('id')
->will($this
->returnValue($this->entityTypeId));
$this->entityType
->expects($this
->atLeastOnce())
->method('getClass')
->will($this
->returnValue(get_class($entity)));
// In case of a cache miss, the entity is loaded from the storage and then
// set in the cache.
$key = 'values:' . $this->entityTypeId . ':1';
$this->cache
->expects($this
->once())
->method('getMultiple')
->with(array(
$key,
))
->will($this
->returnValue(array()));
$this->cache
->expects($this
->once())
->method('set')
->with($key, $entity, CacheBackendInterface::CACHE_PERMANENT, array(
$this->entityTypeId . '_values',
'entity_field_info',
));
$entity_storage = $this
->getMockBuilder('Drupal\\Core\\Entity\\Sql\\SqlContentEntityStorage')
->setConstructorArgs(array(
$this->entityType,
$this->connection,
$this->entityManager,
$this->cache,
$this->languageManager,
))
->setMethods(array(
'getFromStorage',
'invokeStorageLoadHook',
))
->getMock();
$entity_storage
->method('invokeStorageLoadHook')
->willReturn(NULL);
$entity_storage
->expects($this
->once())
->method('getFromStorage')
->with(array(
$id,
))
->will($this
->returnValue(array(
$id => $entity,
)));
$entities = $entity_storage
->loadMultiple(array(
$id,
));
$this
->assertEquals($entity, $entities[$id]);
}