namespace Drupal\Tests\Core\Entity\Sql;
use Drupal\Core\Cache\CacheBackendInterface;
+use Drupal\Core\Entity\EntityFieldManagerInterface;
use Drupal\Core\Entity\EntityInterface;
+use Drupal\Core\Entity\EntityManager;
use Drupal\Core\Entity\EntityStorageInterface;
+use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\Entity\Query\QueryFactoryInterface;
use Drupal\Core\Entity\Sql\SqlContentEntityStorage;
use Drupal\Core\Language\Language;
*/
protected $entityManager;
+ /**
+ * The mocked entity type manager used in this test.
+ *
+ * @var \Drupal\Core\Entity\EntityTypeManagerInterface|\PHPUnit_Framework_MockObject_MockObject
+ */
+ protected $entityTypeManager;
+
+ /**
+ * The mocked entity field manager used in this test.
+ *
+ * @var \Drupal\Core\Entity\EntityFieldManagerInterface|\PHPUnit_Framework_MockObject_MockObject
+ */
+ protected $entityFieldManager;
+
/**
* The entity type ID.
*
$this->container = new ContainerBuilder();
\Drupal::setContainer($this->container);
- $this->entityManager = $this->getMock('Drupal\Core\Entity\EntityManagerInterface');
+ $this->entityManager = new EntityManager();
+ // Inject the container into entity.manager so it can defer to
+ // entity_type.manager and other services.
+ $this->entityManager->setContainer($this->container);
+ $this->entityTypeManager = $this->getMock(EntityTypeManagerInterface::class);
+ $this->entityFieldManager = $this->getMock(EntityFieldManagerInterface::class);
$this->moduleHandler = $this->getMock('Drupal\Core\Extension\ModuleHandlerInterface');
$this->cache = $this->getMock('Drupal\Core\Cache\CacheBackendInterface');
$this->languageManager = $this->getMock('Drupal\Core\Language\LanguageManagerInterface');
$this->connection = $this->getMockBuilder('Drupal\Core\Database\Connection')
->disableOriginalConstructor()
->getMock();
+
+ $this->container->set('entity.manager', $this->entityManager);
+ $this->container->set('entity_type.manager', $this->entityTypeManager);
+ $this->container->set('entity_field.manager', $this->entityFieldManager);
}
/**
->will($this->returnValue($language));
$this->container->set('language_manager', $language_manager);
- $this->container->set('entity.manager', $this->entityManager);
$this->container->set('module_handler', $this->moduleHandler);
$entity = $this->getMockBuilder('Drupal\Core\Entity\ContentEntityBase')
// ContentEntityStorageBase iterates over the entity which calls this method
// internally in ContentEntityBase::getProperties().
- $this->entityManager->expects($this->once())
+ $this->entityFieldManager->expects($this->once())
->method('getFieldDefinitions')
->will($this->returnValue([]));
$this->entityType->expects($this->atLeastOnce())
->method('isRevisionable')
->will($this->returnValue(FALSE));
- $this->entityManager->expects($this->atLeastOnce())
+ $this->entityTypeManager->expects($this->atLeastOnce())
->method('getDefinition')
->with($this->entityType->id())
->will($this->returnValue($this->entityType));
->disableOriginalConstructor()
->getMock();
- $this->entityManager->expects($this->any())
+ $this->entityTypeManager->expects($this->any())
->method('getDefinition')
->will($this->returnValue($this->entityType));
- $this->entityManager->expects($this->any())
+ $this->entityFieldManager->expects($this->any())
->method('getFieldStorageDefinitions')
->will($this->returnValue($this->fieldDefinitions));
- $this->entityManager->expects($this->any())
+ $this->entityFieldManager->expects($this->any())
->method('getBaseFieldDefinitions')
->will($this->returnValue($this->fieldDefinitions));
->disableOriginalConstructor()
->getMock();
- $this->entityManager->expects($this->any())
+ $this->entityTypeManager->expects($this->any())
->method('getDefinition')
->will($this->returnValue($this->entityType));
- $this->entityManager->expects($this->any())
+ $this->entityFieldManager->expects($this->any())
->method('getFieldStorageDefinitions')
->will($this->returnValue($this->fieldDefinitions));
- $this->entityManager->expects($this->any())
+ $this->entityFieldManager->expects($this->any())
->method('getBaseFieldDefinitions')
->will($this->returnValue($this->fieldDefinitions));