diff --git a/core/tests/Drupal/Tests/Core/Entity/ContentEntityDatabaseStorageTest.php b/core/tests/Drupal/Tests/Core/Entity/ContentEntityDatabaseStorageTest.php index a20cbc1..e107453 100644 --- a/core/tests/Drupal/Tests/Core/Entity/ContentEntityDatabaseStorageTest.php +++ b/core/tests/Drupal/Tests/Core/Entity/ContentEntityDatabaseStorageTest.php @@ -9,6 +9,8 @@ use Drupal\Core\Cache\CacheBackendInterface; use Drupal\Core\Entity\ContentEntityDatabaseStorage; +use Drupal\Core\Entity\EntityInterface; +use Drupal\Core\Entity\EntityStorageInterface; use Drupal\Core\Field\FieldDefinition; use Drupal\Tests\UnitTestCase; use Symfony\Component\DependencyInjection\ContainerBuilder; @@ -1104,7 +1106,12 @@ public function testLoadMultiplePersistentCached() { $key = 'values:' . $this->entityTypeId . ':1'; $id = 1; - $entity = $this->getMock('Drupal\Core\Entity\EntityInterface'); + $class_name = '\Drupal\Tests\Core\Entity\ContentEntityDatabaseStorageTestEntityInterface'; + $methods = get_class_methods($class_name); + unset($methods[array_search('postLoad', $methods)]); + $entity = $this->getMockBuilder($class_name) + ->setMethods($methods) + ->getMock(); $entity->expects($this->any()) ->method('id') ->will($this->returnValue($id)); @@ -1143,7 +1150,12 @@ public function testLoadMultipleNoPersistentCache() { $this->setUpModuleHandlerNoImplementations(); $id = 1; - $entity = $this->getMock('Drupal\Core\Entity\EntityInterface'); + $class_name = '\Drupal\Tests\Core\Entity\ContentEntityDatabaseStorageTestEntityInterface'; + $methods = get_class_methods($class_name); + unset($methods[array_search('postLoad', $methods)]); + $entity = $this->getMockBuilder($class_name) + ->setMethods($methods) + ->getMock(); $entity->expects($this->any()) ->method('id') ->will($this->returnValue($id)); @@ -1189,7 +1201,12 @@ public function testLoadMultiplePersistentCacheMiss() { $this->setUpModuleHandlerNoImplementations(); $id = 1; - $entity = $this->getMock('Drupal\Core\Entity\EntityInterface'); + $class_name = '\Drupal\Tests\Core\Entity\ContentEntityDatabaseStorageTestEntityInterface'; + $methods = get_class_methods($class_name); + unset($methods[array_search('postLoad', $methods)]); + $entity = $this->getMockBuilder($class_name) + ->setMethods($methods) + ->getMock(); $entity->expects($this->any()) ->method('id') ->will($this->returnValue($id)); @@ -1244,3 +1261,16 @@ protected function setUpModuleHandlerNoImplementations() { } } + +/** + * Provides an entity with dummy implementations of static methods, because + * those cannot be mocked. + */ +abstract class ContentEntityDatabaseStorageTestEntityInterface implements EntityInterface { + + /** + * {@inheritdoc} + */ + public static function postLoad(EntityStorageInterface $storage, array &$entities) { + } +}