You are here

protected function EntityAdapterUnitTest::setUp in Drupal 8

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/Entity/TypedData/EntityAdapterUnitTest.php \Drupal\Tests\Core\Entity\TypedData\EntityAdapterUnitTest::setUp()
  2. 10 core/tests/Drupal/Tests/Core/Entity/TypedData/EntityAdapterUnitTest.php \Drupal\Tests\Core\Entity\TypedData\EntityAdapterUnitTest::setUp()

Overrides UnitTestCase::setUp

File

core/tests/Drupal/Tests/Core/Entity/TypedData/EntityAdapterUnitTest.php, line 123

Class

EntityAdapterUnitTest
@coversDefaultClass \Drupal\Core\Entity\Plugin\DataType\EntityAdapter @group Entity @group TypedData

Namespace

Drupal\Tests\Core\Entity\TypedData

Code

protected function setUp() {
  $this->id = 1;
  $values = [
    'id' => $this->id,
    'uuid' => '3bb9ee60-bea5-4622-b89b-a63319d10b3a',
    'defaultLangcode' => [
      LanguageInterface::LANGCODE_DEFAULT => 'en',
    ],
  ];
  $this->entityTypeId = $this
    ->randomMachineName();
  $this->bundle = $this
    ->randomMachineName();
  $this->entityType = $this
    ->createMock('\\Drupal\\Core\\Entity\\EntityTypeInterface');
  $this->entityType
    ->expects($this
    ->any())
    ->method('getKeys')
    ->will($this
    ->returnValue([
    'id' => 'id',
    'uuid' => 'uuid',
  ]));
  $this->entityTypeManager = $this
    ->createMock(EntityTypeManagerInterface::class);
  $this->entityTypeManager
    ->expects($this
    ->any())
    ->method('getDefinition')
    ->with($this->entityTypeId)
    ->will($this
    ->returnValue($this->entityType));
  $this->uuid = $this
    ->createMock('\\Drupal\\Component\\Uuid\\UuidInterface');
  $this->typedDataManager = $this
    ->createMock(TypedDataManagerInterface::class);
  $this->typedDataManager
    ->expects($this
    ->any())
    ->method('getDefinition')
    ->with('entity')
    ->will($this
    ->returnValue([
    'class' => '\\Drupal\\Core\\Entity\\Plugin\\DataType\\EntityAdapter',
  ]));
  $this->typedDataManager
    ->expects($this
    ->any())
    ->method('getDefaultConstraints')
    ->willReturn([]);
  $validation_constraint_manager = $this
    ->getMockBuilder('\\Drupal\\Core\\Validation\\ConstraintManager')
    ->disableOriginalConstructor()
    ->getMock();
  $validation_constraint_manager
    ->expects($this
    ->any())
    ->method('create')
    ->willReturn([]);
  $this->typedDataManager
    ->expects($this
    ->any())
    ->method('getValidationConstraintManager')
    ->willReturn($validation_constraint_manager);
  $not_specified = new Language([
    'id' => LanguageInterface::LANGCODE_NOT_SPECIFIED,
    'locked' => TRUE,
  ]);
  $this->languageManager = $this
    ->createMock('\\Drupal\\Core\\Language\\LanguageManagerInterface');
  $this->languageManager
    ->expects($this
    ->any())
    ->method('getLanguages')
    ->will($this
    ->returnValue([
    LanguageInterface::LANGCODE_NOT_SPECIFIED => $not_specified,
  ]));
  $this->languageManager
    ->expects($this
    ->any())
    ->method('getLanguage')
    ->with(LanguageInterface::LANGCODE_NOT_SPECIFIED)
    ->will($this
    ->returnValue($not_specified));
  $this->fieldTypePluginManager = $this
    ->getMockBuilder('\\Drupal\\Core\\Field\\FieldTypePluginManager')
    ->disableOriginalConstructor()
    ->getMock();
  $this->fieldTypePluginManager
    ->expects($this
    ->any())
    ->method('getDefaultStorageSettings')
    ->will($this
    ->returnValue([]));
  $this->fieldTypePluginManager
    ->expects($this
    ->any())
    ->method('getDefaultFieldSettings')
    ->will($this
    ->returnValue([]));
  $this->fieldItemList = $this
    ->createMock('\\Drupal\\Core\\Field\\FieldItemListInterface');
  $this->fieldTypePluginManager
    ->expects($this
    ->any())
    ->method('createFieldItemList')
    ->willReturn($this->fieldItemList);
  $this->entityFieldManager = $this
    ->getMockForAbstractClass(EntityFieldManagerInterface::class);
  $container = new ContainerBuilder();
  $container
    ->set('entity_type.manager', $this->entityTypeManager);
  $container
    ->set('entity_field.manager', $this->entityFieldManager);
  $container
    ->set('uuid', $this->uuid);
  $container
    ->set('typed_data_manager', $this->typedDataManager);
  $container
    ->set('language_manager', $this->languageManager);
  $container
    ->set('plugin.manager.field.field_type', $this->fieldTypePluginManager);
  \Drupal::setContainer($container);
  $this->fieldDefinitions = [
    'id' => BaseFieldDefinition::create('integer'),
    'revision_id' => BaseFieldDefinition::create('integer'),
  ];
  $this->entityFieldManager
    ->expects($this
    ->any())
    ->method('getFieldDefinitions')
    ->with($this->entityTypeId, $this->bundle)
    ->will($this
    ->returnValue($this->fieldDefinitions));
  $this->entity = $this
    ->getMockForAbstractClass('\\Drupal\\Core\\Entity\\ContentEntityBase', [
    $values,
    $this->entityTypeId,
    $this->bundle,
  ]);
  $this->entityAdapter = EntityAdapter::createFromEntity($this->entity);
}