use Drupal\Core\Cache\Context\CacheContextsManager;
use Drupal\Core\Config\Entity\ConfigEntityTypeInterface;
use Drupal\Core\DependencyInjection\Container;
-use Drupal\Core\Entity\EntityManagerInterface;
+use Drupal\Core\Entity\EntityManager;
use Drupal\Core\Entity\EntityStorageInterface;
+use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\Extension\ModuleHandlerInterface;
use Drupal\Core\Session\AccountInterface;
use Drupal\field\Entity\FieldStorageConfig;
protected $member;
/**
- * The mocked test field storage config.
+ * The FieldStorageConfig entity used for testing.
*
* @var \Drupal\field\FieldStorageConfigInterface
*/
- protected $fieldStorage;
-
- /**
- * The main entity used for testing.
- *
- * @var \Drupal\Core\Config\Entity\ConfigEntityInterface
- */
protected $entity;
/**
$storage_access_control_handler = new FieldStorageConfigAccessControlHandler($storageType);
$storage_access_control_handler->setModuleHandler($this->moduleHandler);
- $entityManager = $this->getMock(EntityManagerInterface::class);
- $entityManager
+ $entity_type_manager = $this->getMock(EntityTypeManagerInterface::class);
+ $entity_type_manager
->expects($this->any())
->method('getDefinition')
->willReturnMap([
['field_storage_config', TRUE, $storageType],
['node', TRUE, $entityType],
]);
- $entityManager
+ $entity_type_manager
->expects($this->any())
->method('getStorage')
->willReturnMap([
['field_storage_config', $this->getMock(EntityStorageInterface::class)],
]);
- $entityManager
+ $entity_type_manager
->expects($this->any())
->method('getAccessControlHandler')
->willReturnMap([
['field_storage_config', $storage_access_control_handler],
]);
+ $entity_manager = new EntityManager();
+
$container = new Container();
- $container->set('entity.manager', $entityManager);
+ $container->set('entity.manager', $entity_manager);
+ $container->set('entity_type.manager', $entity_type_manager);
$container->set('uuid', $this->getMock(UuidInterface::class));
$container->set('cache_contexts_manager', $this->prophesize(CacheContextsManager::class));
+ // Inject the container into entity.manager so it can defer to
+ // entity_type.manager.
+ $entity_manager->setContainer($container);
\Drupal::setContainer($container);
- $this->fieldStorage = new FieldStorageConfig([
+ $this->entity = new FieldStorageConfig([
'field_name' => 'test_field',
'entity_type' => 'node',
'type' => 'boolean',
'uuid' => '6f2f259a-f3c7-42ea-bdd5-111ad1f85ed1',
]);
- $this->entity = $this->fieldStorage;
$this->accessControlHandler = $storage_access_control_handler;
}
$this->assertAllowOperations([], $this->anon);
$this->assertAllowOperations(['view', 'update', 'delete'], $this->member);
- $this->fieldStorage->setLocked(TRUE)->save();
+ $this->entity->setLocked(TRUE)->save();
// Unfortunately, EntityAccessControlHandler has a static cache, which we
// therefore must reset manually.
$this->accessControlHandler->resetCache();