You are here

EntityManagerTest.php in Drupal 8

File

core/tests/Drupal/Tests/Core/Entity/EntityManagerTest.php
View source
<?php

namespace Drupal\Tests\Core\Entity;

use Drupal\Core\DependencyInjection\ContainerBuilder;
use Drupal\Core\Entity\Display\EntityFormDisplayInterface;
use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
use Drupal\Core\Entity\EntityAccessControlHandlerInterface;
use Drupal\Core\Entity\EntityDisplayRepositoryInterface;
use Drupal\Core\Entity\EntityFieldManager;
use Drupal\Core\Entity\EntityFormInterface;
use Drupal\Core\Entity\EntityHandlerInterface;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Entity\EntityLastInstalledSchemaRepositoryInterface;
use Drupal\Core\Entity\EntityListBuilderInterface;
use Drupal\Core\Entity\EntityManager;
use Drupal\Core\Entity\EntityRepositoryInterface;
use Drupal\Core\Entity\EntityStorageInterface;
use Drupal\Core\Entity\EntityType;
use Drupal\Core\Entity\EntityTypeBundleInfoInterface;
use Drupal\Core\Entity\EntityTypeInterface;
use Drupal\Core\Entity\EntityTypeManager;
use Drupal\Core\Entity\EntityTypeRepositoryInterface;
use Drupal\Core\Entity\EntityViewBuilderInterface;
use Drupal\Tests\UnitTestCase;

/**
 * @coversDefaultClass \Drupal\Core\Entity\EntityManager
 * @group Entity
 * @group legacy
 */
class EntityManagerTest extends UnitTestCase {

  /**
   * The entity manager.
   *
   * @var \Drupal\Core\Entity\EntityManager
   */
  protected $entityManager;

  /**
   * The entity type manager.
   *
   * @var \Drupal\Core\Entity\EntityTypeManagerInterface|\Prophecy\Prophecy\ProphecyInterface
   */
  protected $entityTypeManager;

  /**
   * The entity type repository.
   *
   * @var \Drupal\Core\Entity\EntityTypeRepositoryInterface|\Prophecy\Prophecy\ProphecyInterface
   */
  protected $entityTypeRepository;

  /**
   * The entity display repository.
   *
   * @var \Drupal\Core\Entity\EntityDisplayRepositoryInterface|\Prophecy\Prophecy\ProphecyInterface
   */
  protected $entityDisplayRepository;

  /**
   * The entity type bundle info.
   *
   * @var \Drupal\Core\Entity\EntityTypeBundleInfoInterface|\Prophecy\Prophecy\ProphecyInterface
   */
  protected $entityTypeBundleInfo;

  /**
   * The entity field manager.
   *
   * @var \Drupal\Core\Entity\EntityFieldManagerInterface|\Prophecy\Prophecy\ProphecyInterface
   */
  protected $entityFieldManager;

  /**
   * The entity repository.
   *
   * @var \Drupal\Core\Entity\EntityRepositoryInterface|\Prophecy\Prophecy\ProphecyInterface
   */
  protected $entityRepository;

  /**
   * The entity last installed schema repository.
   *
   * @var \Drupal\Core\Entity\EntityLastInstalledSchemaRepository|\Prophecy\Prophecy\ProphecyInterface
   */
  protected $entityLastInstalledSchemaRepository;

  /**
   * {@inheritdoc}
   */
  protected function setUp() {
    parent::setUp();
    $this->entityTypeManager = $this
      ->prophesize(EntityTypeManager::class);
    $this->entityTypeRepository = $this
      ->prophesize(EntityTypeRepositoryInterface::class);
    $this->entityTypeBundleInfo = $this
      ->prophesize(EntityTypeBundleInfoInterface::class);
    $this->entityFieldManager = $this
      ->prophesize(EntityFieldManager::class);
    $this->entityRepository = $this
      ->prophesize(EntityRepositoryInterface::class);
    $this->entityDisplayRepository = $this
      ->prophesize(EntityDisplayRepositoryInterface::class);
    $this->entityLastInstalledSchemaRepository = $this
      ->prophesize(EntityLastInstalledSchemaRepositoryInterface::class);
    $container = new ContainerBuilder();
    $container
      ->set('entity_type.manager', $this->entityTypeManager
      ->reveal());
    $container
      ->set('entity_type.repository', $this->entityTypeRepository
      ->reveal());
    $container
      ->set('entity_type.bundle.info', $this->entityTypeBundleInfo
      ->reveal());
    $container
      ->set('entity_field.manager', $this->entityFieldManager
      ->reveal());
    $container
      ->set('entity.repository', $this->entityRepository
      ->reveal());
    $container
      ->set('entity_display.repository', $this->entityDisplayRepository
      ->reveal());
    $container
      ->set('entity.last_installed_schema.repository', $this->entityLastInstalledSchemaRepository
      ->reveal());
    $this->entityManager = new EntityManager();
    $this->entityManager
      ->setContainer($container);
  }

  /**
   * Tests the clearCachedDefinitions() method.
   *
   * @covers ::clearCachedDefinitions
   *
   * @expectedDeprecation EntityManagerInterface::clearCachedDefinitions() is deprecated in 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityTypeManagerInterface::clearCachedDefinitions() instead. See https://www.drupal.org/node/2549139.
   */
  public function testClearCachedDefinitions() {
    $this->entityTypeManager
      ->clearCachedDefinitions()
      ->shouldBeCalled();
    $this->entityTypeRepository
      ->clearCachedDefinitions()
      ->shouldBeCalled();
    $this->entityTypeBundleInfo
      ->clearCachedBundles()
      ->shouldBeCalled();
    $this->entityFieldManager
      ->clearCachedFieldDefinitions()
      ->shouldBeCalled();
    $this->entityManager
      ->clearCachedDefinitions();
  }

  /**
   * Tests the clearCachedFieldDefinitions() method.
   *
   * @covers ::clearCachedFieldDefinitions
   *
   * @expectedDeprecation EntityManagerInterface::clearCachedFieldDefinitions() is deprecated in drupal:8.0.0 and will be removed before drupal:9.0.0. Use \Drupal\Core\Entity\EntityFieldManagerInterface::clearCachedFieldDefinitions() instead. See https://www.drupal.org/node/2549139.
   */
  public function testClearCachedFieldDefinitions() {
    $this->entityFieldManager
      ->clearCachedFieldDefinitions()
      ->shouldBeCalled();
    $this->entityManager
      ->clearCachedFieldDefinitions();
  }

  /**
   * Tests the getBaseFieldDefinitions() method.
   *
   * @covers ::getBaseFieldDefinitions
   *
   * @expectedDeprecation EntityManagerInterface::getBaseFieldDefinitions() is deprecated in drupal:8.0.0 and will be removed before drupal:9.0.0. Use \Drupal\Core\Entity\EntityFieldManagerInterface::getBaseFieldDefinitions() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetBaseFieldDefinitions() {
    $this->entityFieldManager
      ->getBaseFieldDefinitions('node')
      ->shouldBeCalled()
      ->willReturn([]);
    $this
      ->assertEquals([], $this->entityManager
      ->getBaseFieldDefinitions('node'));
  }

  /**
   * Tests the getFieldDefinitions() method.
   *
   * @covers ::getFieldDefinitions
   *
   * @expectedDeprecation EntityManagerInterface::getFieldDefinitions() is deprecated in drupal:8.0.0 and will be removed before drupal:9.0.0. Use \Drupal\Core\Entity\EntityFieldManagerInterface::getFieldDefinitions() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetFieldDefinitions() {
    $this->entityFieldManager
      ->getFieldDefinitions('node', 'article')
      ->shouldBeCalled()
      ->willReturn([]);
    $this
      ->assertEquals([], $this->entityManager
      ->getFieldDefinitions('node', 'article'));
  }

  /**
   * Tests the getFieldStorageDefinitions() method.
   *
   * @covers ::getFieldStorageDefinitions
   *
   * @expectedDeprecation EntityManagerInterface::getFieldStorageDefinitions() is deprecated in drupal:8.0.0 and will be removed before drupal:9.0.0. Use \Drupal\Core\Entity\EntityFieldManagerInterface::getFieldStorageDefinitions() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetFieldStorageDefinitions() {
    $this->entityFieldManager
      ->getFieldStorageDefinitions('node')
      ->shouldBeCalled()
      ->willReturn([]);
    $this
      ->assertEquals([], $this->entityManager
      ->getFieldStorageDefinitions('node'));
  }

  /**
   * Tests the getFieldMap() method.
   *
   * @covers ::getFieldMap
   *
   * @expectedDeprecation EntityManagerInterface::getFieldMap() is deprecated in drupal:8.0.0 and will be removed before drupal:9.0.0. Use \Drupal\Core\Entity\EntityFieldManagerInterface::getFieldMap() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetFieldMap() {
    $this->entityFieldManager
      ->getFieldMap()
      ->shouldBeCalled()
      ->willReturn([]);
    $this
      ->assertEquals([], $this->entityManager
      ->getFieldMap());
  }

  /**
   * Tests the setFieldMap() method.
   *
   * @covers ::setFieldMap
   *
   * @expectedDeprecation EntityManagerInterface::setFieldMap() is deprecated in drupal:8.0.0 and will be removed before drupal:9.0.0. Use \Drupal\Core\Entity\EntityFieldManagerInterface::setFieldMap() instead. See https://www.drupal.org/node/2549139.
   */
  public function testSetFieldMap() {
    $this->entityFieldManager
      ->setFieldMap([])
      ->shouldBeCalled();
    $this->entityManager
      ->setFieldMap([]);
  }

  /**
   * Tests the getFieldMapByFieldType() method.
   *
   * @covers ::getFieldMapByFieldType
   *
   * @expectedDeprecation EntityManagerInterface::getFieldMapByFieldType() is deprecated in drupal:8.0.0 and will be removed before drupal:9.0.0. Use \Drupal\Core\Entity\EntityFieldManagerInterface::getFieldMapByFieldType() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetFieldMapByFieldType() {
    $this->entityFieldManager
      ->getFieldMapByFieldType('node')
      ->shouldBeCalled()
      ->willReturn([]);
    $this
      ->assertEquals([], $this->entityManager
      ->getFieldMapByFieldType('node'));
  }

  /**
   * Tests the getExtraFields() method.
   *
   * @covers ::getExtraFields
   *
   * @expectedDeprecation EntityManagerInterface::getExtraFields() is deprecated in drupal:8.0.0 and will be removed before drupal:9.0.0. Use \Drupal\Core\Entity\EntityFieldManagerInterface::getExtraFields() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetExtraFields() {
    $this->entityFieldManager
      ->getExtraFields('entity_type_id', 'bundle')
      ->shouldBeCalled()
      ->willReturn([]);
    $this
      ->assertEquals([], $this->entityManager
      ->getExtraFields('entity_type_id', 'bundle'));
  }

  /**
   * Tests the getBundleInfo() method.
   *
   * @covers ::getBundleInfo
   *
   * @expectedDeprecation EntityManagerInterface::getBundleInfo() is deprecated in drupal:8.0.0 and will be removed before drupal:9.0.0. Use \Drupal\Core\Entity\EntityTypeBundleInfoInterface::getBundleInfo() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetBundleInfo() {
    $return = [
      'article' => [
        'label' => 'Article',
      ],
    ];
    $this->entityTypeBundleInfo
      ->getBundleInfo('node')
      ->shouldBeCalled()
      ->willReturn($return);
    $this
      ->assertEquals($return, $this->entityManager
      ->getBundleInfo('node'));
  }

  /**
   * Tests the getAllBundleInfo() method.
   *
   * @covers ::getAllBundleInfo
   *
   * @expectedDeprecation EntityManagerInterface::getAllBundleInfo() is deprecated in drupal:8.0.0 and will be removed before drupal:9.0.0. Use \Drupal\Core\Entity\EntityTypeBundleInfoInterface::getAllBundleInfo() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetAllBundleInfo() {
    $return = [
      'node' => [
        'article' => [
          'label' => 'Article',
        ],
      ],
    ];
    $this->entityTypeBundleInfo
      ->getAllBundleInfo()
      ->shouldBeCalled()
      ->willReturn($return);
    $this
      ->assertEquals($return, $this->entityManager
      ->getAllBundleInfo());
  }

  /**
   * Tests the clearCachedBundles() method.
   *
   * @covers ::clearCachedBundles
   *
   * @expectedDeprecation EntityManagerInterface::clearCachedBundles() is deprecated in drupal:8.0.0 and will be removed before drupal:9.0.0. Use \Drupal\Core\Entity\EntityTypeBundleInfoInterface::clearCachedBundles() instead. See https://www.drupal.org/node/2549139.
   */
  public function testClearCachedBundles() {
    $this->entityTypeBundleInfo
      ->clearCachedBundles()
      ->shouldBeCalled();
    $this->entityManager
      ->clearCachedBundles();
  }

  /**
   * Tests the getTranslationFromContext() method.
   *
   * @covers ::getTranslationFromContext
   *
   * @expectedDeprecation EntityManagerInterface::getTranslationFromContext() is deprecated in 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityRepository::getTranslationFromContext() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetTranslationFromContext() {
    $entity = $this
      ->prophesize(EntityInterface::class);
    $this->entityRepository
      ->getTranslationFromContext($entity
      ->reveal(), 'de', [
      'example' => 'context',
    ])
      ->shouldBeCalled();
    $this->entityManager
      ->getTranslationFromContext($entity
      ->reveal(), 'de', [
      'example' => 'context',
    ]);
  }

  /**
   * Tests the loadEntityByUuid() method.
   *
   * @covers ::loadEntityByUuid
   *
   * @expectedDeprecation EntityManagerInterface::loadEntityByUuid() is deprecated in 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityRepository::loadEntityByUuid() instead. See https://www.drupal.org/node/2549139.
   */
  public function testLoadEntityByUuid() {
    $entity = $this
      ->prophesize(EntityInterface::class);
    $this->entityRepository
      ->loadEntityByUuid('entity_test', '9a9a3d06-5d27-493b-965d-7f9cb0115817')
      ->shouldBeCalled()
      ->willReturn($entity
      ->reveal());
    $this
      ->assertInstanceOf(EntityInterface::class, $this->entityManager
      ->loadEntityByUuid('entity_test', '9a9a3d06-5d27-493b-965d-7f9cb0115817'));
  }

  /**
   * Tests the loadEntityByConfigTarget() method.
   *
   * @covers ::loadEntityByConfigTarget
   *
   * @expectedDeprecation EntityManagerInterface::loadEntityByConfigTarget() is deprecated in 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityRepository::loadEntityByConfigTarget() instead. See https://www.drupal.org/node/2549139.
   */
  public function testLoadEntityByConfigTarget() {
    $entity = $this
      ->prophesize(EntityInterface::class);
    $this->entityRepository
      ->loadEntityByConfigTarget('config_test', 'test')
      ->shouldBeCalled()
      ->willReturn($entity
      ->reveal());
    $this
      ->assertInstanceOf(EntityInterface::class, $this->entityManager
      ->loadEntityByConfigTarget('config_test', 'test'));
  }

  /**
   * Tests the getEntityTypeFromClass() method.
   *
   * @covers ::getEntityTypeFromClass
   *
   * @expectedDeprecation EntityManagerInterface::getEntityTypeFromClass() is deprecated in 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityTypeRepositoryInterface::getEntityTypeFromClass() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetEntityTypeFromClass() {
    $class = '\\Drupal\\example\\Entity\\ExampleEntity';
    $this->entityTypeRepository
      ->getEntityTypeFromClass($class)
      ->shouldBeCalled()
      ->willReturn('example_entity_type');
    $this
      ->assertEquals('example_entity_type', $this->entityManager
      ->getEntityTypeFromClass($class));
  }

  /**
   * Tests the getLastInstalledDefinition() method.
   *
   * @covers ::getLastInstalledDefinition
   *
   * @expectedDeprecation EntityManagerInterface::getLastInstalledDefinition() is deprecated in 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityLastInstalledSchemaRepositoryInterface::getLastInstalledDefinition() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetLastInstalledDefinition() {
    $entity_type_id = 'example_entity_type';
    $entity_type = new EntityType([
      'id' => $entity_type_id,
    ]);
    $this->entityLastInstalledSchemaRepository
      ->getLastInstalledDefinition($entity_type_id)
      ->shouldBeCalled()
      ->willReturn($entity_type);
    $this
      ->assertEquals($entity_type, $this->entityManager
      ->getLastInstalledDefinition($entity_type_id));
  }

  /**
   * Tests the getLastInstalledFieldStorageDefinitions() method.
   *
   * @covers ::getLastInstalledFieldStorageDefinitions
   *
   * @expectedDeprecation EntityManagerInterface::getLastInstalledFieldStorageDefinitions() is deprecated in 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityLastInstalledSchemaRepositoryInterface::getLastInstalledFieldStorageDefinitions() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetLastInstalledFieldStorageDefinitions() {
    $entity_type_id = 'example_entity_type';
    $this->entityLastInstalledSchemaRepository
      ->getLastInstalledFieldStorageDefinitions($entity_type_id)
      ->shouldBeCalled()
      ->willReturn([]);
    $this
      ->assertEquals([], $this->entityManager
      ->getLastInstalledFieldStorageDefinitions($entity_type_id));
  }

  /**
   * Tests the getAllViewModes() method.
   *
   * @covers ::getAllViewModes
   *
   * @expectedDeprecation EntityManagerInterface::getAllViewModes() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getAllViewModes() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetAllViewModes() {
    $this->entityDisplayRepository
      ->getAllViewModes()
      ->shouldBeCalled()
      ->willReturn([]);
    $this
      ->assertEquals([], $this->entityManager
      ->getAllViewModes());
  }

  /**
   * Tests the getViewModes() method.
   *
   * @covers ::getViewModes
   *
   * @expectedDeprecation EntityManagerInterface::getViewModes() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getViewModes() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetViewModes() {
    $this->entityDisplayRepository
      ->getViewModes('entity_type')
      ->shouldBeCalled()
      ->willReturn([]);
    $this
      ->assertEquals([], $this->entityManager
      ->getViewModes('entity_type'));
  }

  /**
   * Tests the getViewModeOptions() method.
   *
   * @covers ::getViewModeOptions
   *
   * @expectedDeprecation EntityManagerInterface::getViewModeOptions() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getViewModeOptions() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetViewModeOptions() {
    $this->entityDisplayRepository
      ->getViewModeOptions('entity_type')
      ->shouldBeCalled()
      ->willReturn([]);
    $this
      ->assertEquals([], $this->entityManager
      ->getViewModeOptions('entity_type'));
  }

  /**
   * Tests the getViewModeOptionsByBundle() method.
   *
   * @covers ::getViewModeOptionsByBundle
   *
   * @expectedDeprecation EntityManagerInterface::getViewModeOptionsByBundle() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getViewModeOptionsByBundle() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetViewModeOptionsByBundle() {
    $this->entityDisplayRepository
      ->getViewModeOptionsByBundle('entity_type', 'bundle')
      ->shouldBeCalled()
      ->willReturn([]);
    $this
      ->assertEquals([], $this->entityManager
      ->getViewModeOptionsByBundle('entity_type', 'bundle'));
  }

  /**
   * Tests the getAllFormModes() method.
   *
   * @covers ::getAllFormModes
   *
   * @expectedDeprecation EntityManagerInterface::getAllFormModes() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getAllFormModes() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetAllFormModes() {
    $this->entityDisplayRepository
      ->getAllFormModes()
      ->shouldBeCalled()
      ->willReturn([]);
    $this
      ->assertEquals([], $this->entityManager
      ->getAllFormModes());
  }

  /**
   * Tests the getFormModes() method.
   *
   * @covers ::getFormModes
   *
   * @expectedDeprecation EntityManagerInterface::getFormModes() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getFormModes() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetFormModes() {
    $this->entityDisplayRepository
      ->getFormModes('entity_type')
      ->shouldBeCalled()
      ->willReturn([]);
    $this
      ->assertEquals([], $this->entityManager
      ->getFormModes('entity_type'));
  }

  /**
   * Tests the getFormModeOptions() method.
   *
   * @covers ::getFormModeOptions
   *
   * @expectedDeprecation EntityManagerInterface::getFormModeOptions() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getFormModeOptions() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetFormModeOptions() {
    $this->entityDisplayRepository
      ->getFormModeOptions('entity_type')
      ->shouldBeCalled()
      ->willReturn([]);
    $this
      ->assertEquals([], $this->entityManager
      ->getFormModeOptions('entity_type'));
  }

  /**
   * Tests the getFormModeOptionsByBundle() method.
   *
   * @covers ::getFormModeOptionsByBundle
   *
   * @expectedDeprecation EntityManagerInterface::getFormModeOptionsByBundle() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::getFormModeOptionsByBundle() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetFormModeOptionsByBundle() {
    $this->entityDisplayRepository
      ->getFormModeOptionsByBundle('entity_type', 'bundle')
      ->shouldBeCalled()
      ->willReturn([]);
    $this
      ->assertEquals([], $this->entityManager
      ->getFormModeOptionsByBundle('entity_type', 'bundle'));
  }

  /**
   * Tests the clearDisplayModeInfo() method.
   *
   * @covers ::clearDisplayModeInfo
   *
   * @expectedDeprecation EntityManagerInterface::clearDisplayModeInfo() is deprecated in Drupal 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityDisplayRepositoryInterface::clearDisplayModeInfo() instead. See https://www.drupal.org/node/2549139.
   */
  public function testClearDisplayModeInfo() {
    $this->entityDisplayRepository
      ->clearDisplayModeInfo()
      ->shouldBeCalled()
      ->willReturn($this->entityDisplayRepository);
    $this
      ->assertEquals($this->entityManager, $this->entityManager
      ->clearDisplayModeInfo());
  }

  /**
   * Tests the useCaches() method.
   *
   * @covers ::useCaches
   *
   * @expectedDeprecation EntityManagerInterface::useCaches() is deprecated in 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityTypeManagerInterface::useCaches() and/or Drupal\Core\Entity\EntityFieldManagerInterface::useCaches() instead. See https://www.drupal.org/node/2549139.
   */
  public function testUseCaches() {
    $this->entityTypeManager
      ->useCaches(TRUE)
      ->shouldBeCalled();
    $this->entityFieldManager
      ->useCaches(TRUE)
      ->shouldBeCalled();
    $this->entityManager
      ->useCaches(TRUE);
  }

  /**
   * Tests the createInstance() method.
   *
   * @covers ::createInstance
   *
   * @expectedDeprecation EntityManagerInterface::createInstance() is deprecated in 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityTypeManagerInterface::createInstance() instead. See https://www.drupal.org/node/2549139.
   */
  public function testCreateInstance() {
    $this->entityTypeManager
      ->createInstance('plugin_id', [
      'example' => TRUE,
    ])
      ->shouldBeCalled();
    $this->entityManager
      ->createInstance('plugin_id', [
      'example' => TRUE,
    ]);
  }

  /**
   * Tests the getInstance() method.
   *
   * @covers ::getInstance
   *
   * @expectedDeprecation EntityManagerInterface::getInstance() is deprecated in 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityTypeManagerInterface::getInstance() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetInstance() {
    $this->entityTypeManager
      ->getInstance([
      'example' => TRUE,
    ])
      ->shouldBeCalled();
    $this->entityManager
      ->getInstance([
      'example' => TRUE,
    ]);
  }

  /**
   * Tests the getActive() method.
   *
   * @covers ::getActive
   *
   * @expectedDeprecation EntityManagerInterface::getActive() is deprecated in Drupal 8.7.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityRepositoryInterface::getActive() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetActive() {
    $entity_type_id = 'entity_test';
    $entity_id = 0;
    $contexts = [];
    $this->entityRepository
      ->getActive($entity_type_id, $entity_id, $contexts)
      ->shouldBeCalled($entity_type_id, $entity_id, $contexts);
    $this->entityManager
      ->getActive($entity_type_id, $entity_id, $contexts);
  }

  /**
   * Tests the getActiveMultiple() method.
   *
   * @covers ::getActiveMultiple
   *
   * @expectedDeprecation EntityManagerInterface::getActiveMultiple() is deprecated in Drupal 8.7.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityRepositoryInterface::getActiveMultiple() instead. See https://www.drupal.org/node/2549139.
   */
  public function testActiveMultiple() {
    $entity_type_id = 'entity_test';
    $entity_ids = [
      0,
    ];
    $contexts = [];
    $this->entityRepository
      ->getActiveMultiple($entity_type_id, $entity_ids, $contexts)
      ->shouldBeCalled($entity_type_id, $entity_ids, $contexts);
    $this->entityManager
      ->getActiveMultiple($entity_type_id, $entity_ids, $contexts);
  }

  /**
   * Tests the getCanonical() method.
   *
   * @covers ::getCanonical
   *
   * @expectedDeprecation EntityManagerInterface::getCanonical() is deprecated in Drupal 8.7.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityRepositoryInterface::getCanonical() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetCanonical() {
    $entity_type_id = 'entity_test';
    $entity_id = '';
    $contexts = [];
    $this->entityRepository
      ->getCanonical($entity_type_id, $entity_id, $contexts)
      ->shouldBeCalled($entity_type_id, $entity_id, $contexts);
    $this->entityManager
      ->getCanonical($entity_type_id, $entity_id, $contexts);
  }

  /**
   * Tests the getCanonicalMultiple() method.
   *
   * @covers ::getCanonicalMultiple
   *
   * @expectedDeprecation EntityManagerInterface::getCanonicalMultiple() is deprecated in Drupal 8.7.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityRepositoryInterface::getCanonicalMultiple() instead. See https://www.drupal.org/node/2549139.
   */
  public function testGetCanonicalMultiple() {
    $entity_type_id = 'entity_test';
    $entity_ids = [
      0,
    ];
    $contexts = [];
    $this->entityRepository
      ->getCanonicalMultiple($entity_type_id, $entity_ids, $contexts)
      ->shouldBeCalled($entity_type_id, $entity_ids, $contexts);
    $this->entityManager
      ->getCanonicalMultiple($entity_type_id, $entity_ids, $contexts);
  }

  /**
   * @covers ::getActiveDefinition
   *
   * @expectedDeprecation EntityManagerInterface::getActiveDefinition() is deprecated in 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityTypeManagerInterface::getActiveDefinition() instead. See https://www.drupal.org/node/3040966.
   */
  public function testGetActiveDefinition() {
    $this->entityManager
      ->getActiveDefinition('entity_test');
  }

  /**
   * @covers ::getActiveFieldStorageDefinitions
   *
   * @expectedDeprecation EntityManagerInterface::getActiveFieldStorageDefinitions() is deprecated in 8.0.0 and will be removed before Drupal 9.0.0. Use \Drupal\Core\Entity\EntityFieldManagerInterface::getActiveFieldStorageDefinitions() instead. See https://www.drupal.org/node/3040966.
   */
  public function testGetActiveFieldStorageDefinitions() {
    $this->entityManager
      ->getActiveFieldStorageDefinitions('entity_test');
  }

  /**
   * @covers ::getViewDisplay
   *
   * @expectedDeprecation EntityManager::getViewDisplay() is deprecated in drupal:8.8.0 and will be removed before Drupal 9.0.0. Use \Drupal::service('entity_display.repository')->getViewDisplay() instead.
   */
  public function testGetViewDisplay() {
    $view_display = $this
      ->prophesize(EntityViewDisplayInterface::class)
      ->reveal();
    $this->entityDisplayRepository
      ->getViewDisplay('entity_test', 'bundle', 'default')
      ->shouldBeCalled()
      ->willReturn($view_display);
    $this
      ->assertInstanceOf(EntityViewDisplayInterface::class, $this->entityManager
      ->getViewDisplay('entity_test', 'bundle', 'default'));
  }

  /**
   * @covers ::getFormDisplay
   *
   * @expectedDeprecation EntityManager::getFormDisplay() is deprecated in drupal:8.8.0 and will be removed before Drupal 9.0.0. Use \Drupal::service('entity_display.repository')->getFormDisplay() instead.
   */
  public function testGetFormDisplay() {
    $form_display = $this
      ->prophesize(EntityFormDisplayInterface::class)
      ->reveal();
    $this->entityDisplayRepository
      ->getFormDisplay('entity_test', 'bundle', 'default')
      ->shouldBeCalled()
      ->willReturn($form_display);
    $this
      ->assertInstanceOf(EntityFormDisplayInterface::class, $this->entityManager
      ->getFormDisplay('entity_test', 'bundle', 'default'));
  }

  /**
   * @covers ::getDefinition
   *
   * @expectedDeprecation EntityManagerInterface::getDefinition() is deprecated in drupal:8.0.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Entity\EntityTypeManager::getDefinition() instead. See https://www.drupal.org/node/2549139
   */
  public function testGetDefinition() {
    $entity_type = $this
      ->prophesize(EntityTypeInterface::class)
      ->reveal();
    $this->entityTypeManager
      ->getDefinition('entity_test', TRUE)
      ->shouldBeCalled()
      ->willReturn($entity_type);
    $this
      ->assertInstanceOf(EntityTypeInterface::class, $this->entityManager
      ->getDefinition('entity_test'));
  }

  /**
   * @covers ::getDefinitions
   *
   * @expectedDeprecation EntityManagerInterface::getDefinitions() is deprecated in drupal:8.0.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Entity\EntityTypeManager::getDefinitions() instead. See https://www.drupal.org/node/2549139
   */
  public function testGetDefinitions() {
    $this->entityTypeManager
      ->getDefinitions()
      ->shouldBeCalled()
      ->willReturn([]);
    $this
      ->assertEquals([], $this->entityManager
      ->getDefinitions());
  }

  /**
   * @covers ::hasDefinition
   *
   * @expectedDeprecation EntityManagerInterface::hasDefinition() is deprecated in drupal:8.0.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Entity\EntityTypeManager::hasDefinition() instead. See https://www.drupal.org/node/2549139
   */
  public function testHasDefinition() {
    $this->entityTypeManager
      ->hasDefinition('entity_test')
      ->shouldBeCalled()
      ->willReturn(TRUE);
    $this
      ->assertTrue($this->entityManager
      ->hasDefinition('entity_test'));
  }

  /**
   * @covers ::getDefinitions
   *
   * @expectedDeprecation EntityManagerInterface::getRouteProviders() is deprecated in drupal:8.0.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Entity\EntityTypeManager::getRouteProviders() instead. See https://www.drupal.org/node/2549139
   */
  public function testGetRouteProviders() {
    $this->entityTypeManager
      ->getRouteProviders('entity_test')
      ->shouldBeCalled()
      ->willReturn([]);
    $this
      ->assertEquals([], $this->entityManager
      ->getRouteProviders('entity_test'));
  }

  /**
   * @covers ::hasHandler
   *
   * @expectedDeprecation EntityManagerInterface::hasHandler() is deprecated in drupal:8.0.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Entity\EntityTypeManager::hasHandler() instead. See https://www.drupal.org/node/2549139
   */
  public function testHasHandler() {
    $this->entityTypeManager
      ->hasHandler('entity_test', 'storage')
      ->shouldBeCalled()
      ->willReturn(TRUE);
    $this
      ->assertTrue($this->entityManager
      ->hasHandler('entity_test', 'storage'));
  }

  /**
   * @covers ::getStorage
   *
   * @expectedDeprecation EntityManagerInterface::getStorage() is deprecated in drupal:8.0.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Entity\EntityTypeManager::getStorage() instead. See https://www.drupal.org/node/2549139
   */
  public function testGetStorage() {
    $storage = $this
      ->prophesize(EntityStorageInterface::class)
      ->reveal();
    $this->entityTypeManager
      ->getStorage('entity_test')
      ->shouldBeCalled()
      ->willReturn($storage);
    $this
      ->assertInstanceOf(EntityStorageInterface::class, $this->entityManager
      ->getStorage('entity_test'));
  }

  /**
   * @covers ::getFormObject
   *
   * @expectedDeprecation EntityManagerInterface::getFormObject() is deprecated in drupal:8.0.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Entity\EntityTypeManager::getFormObject() instead. See https://www.drupal.org/node/2549139
   */
  public function testGetFormObject() {
    $form_object = $this
      ->prophesize(EntityFormInterface::class)
      ->reveal();
    $this->entityTypeManager
      ->getFormObject('entity_test', 'edit')
      ->shouldBeCalled()
      ->willReturn($form_object);
    $this
      ->assertInstanceOf(EntityFormInterface::class, $this->entityManager
      ->getFormObject('entity_test', 'edit'));
  }

  /**
   * @covers ::getListBuilder
   *
   * @expectedDeprecation EntityManagerInterface::getListBuilder() is deprecated in drupal:8.0.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Entity\EntityTypeManager::getListBuilder() instead. See https://www.drupal.org/node/2549139
   */
  public function testGetListBuilder() {
    $list_builder = $this
      ->prophesize(EntityListBuilderInterface::class)
      ->reveal();
    $this->entityTypeManager
      ->getListBuilder('entity_test')
      ->shouldBeCalled()
      ->willReturn($list_builder);
    $this
      ->assertInstanceOf(EntityListBuilderInterface::class, $this->entityManager
      ->getListBuilder('entity_test'));
  }

  /**
   * @covers ::getViewBuilder
   *
   * @expectedDeprecation EntityManagerInterface::getViewBuilder() is deprecated in drupal:8.0.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Entity\EntityTypeManager::getViewBuilder() instead. See https://www.drupal.org/node/2549139
   */
  public function testGetViewBuilder() {
    $view_builder = $this
      ->prophesize(EntityViewBuilderInterface::class)
      ->reveal();
    $this->entityTypeManager
      ->getViewBuilder('entity_test')
      ->shouldBeCalled()
      ->willReturn($view_builder);
    $this
      ->assertInstanceOf(EntityViewBuilderInterface::class, $this->entityManager
      ->getViewBuilder('entity_test'));
  }

  /**
   * @covers ::getAccessControlHandler
   *
   * @expectedDeprecation EntityManagerInterface::getAccessControlHandler() is deprecated in drupal:8.0.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Entity\EntityTypeManager::getAccessControlHandler() instead. See https://www.drupal.org/node/2549139
   */
  public function testGetAccessControlHandler() {
    $access_control_handler = $this
      ->prophesize(EntityAccessControlHandlerInterface::class)
      ->reveal();
    $this->entityTypeManager
      ->getAccessControlHandler('entity_test')
      ->shouldBeCalled()
      ->willReturn($access_control_handler);
    $this
      ->assertInstanceOf(EntityAccessControlHandlerInterface::class, $this->entityManager
      ->getAccessControlHandler('entity_test'));
  }

  /**
   * @covers ::getHandler
   *
   * @expectedDeprecation EntityManagerInterface::getHandler() is deprecated in drupal:8.0.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Entity\EntityTypeManager::getHandler() instead. See https://www.drupal.org/node/2549139
   */
  public function testGetHandler() {
    $handler = $this
      ->prophesize(EntityHandlerInterface::class)
      ->reveal();
    $this->entityTypeManager
      ->getHandler('entity_test', 'storage')
      ->shouldBeCalled()
      ->willReturn($handler);
    $this
      ->assertInstanceOf(EntityHandlerInterface::class, $this->entityManager
      ->getHandler('entity_test', 'storage'));
  }

  /**
   * @covers ::createHandlerInstance
   *
   * @expectedDeprecation EntityManagerInterface::createHandlerInstance() is deprecated in drupal:8.0.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Entity\EntityTypeManager::createHandlerInstance() instead. See https://www.drupal.org/node/2549139
   */
  public function testCreateHandlerInstance() {
    $handler = $this
      ->prophesize(EntityHandlerInterface::class)
      ->reveal();
    $entity_type = $this
      ->prophesize(EntityTypeInterface::class)
      ->reveal();
    $this->entityTypeManager
      ->createHandlerInstance(EntityHandlerInterface::class, $entity_type)
      ->shouldBeCalled()
      ->willReturn($handler);
    $this
      ->assertInstanceOf(EntityHandlerInterface::class, $this->entityManager
      ->createHandlerInstance(EntityHandlerInterface::class, $entity_type));
  }

}

Classes

Namesort descending Description
EntityManagerTest @coversDefaultClass \Drupal\Core\Entity\EntityManager @group Entity @group legacy