You are here

protected function ContentEntityBaseUnitTest::setUp in Drupal 9

Same name and namespace in other branches
  1. 8 core/tests/Drupal/Tests/Core/Entity/ContentEntityBaseUnitTest.php \Drupal\Tests\Core\Entity\ContentEntityBaseUnitTest::setUp()

Overrides UnitTestCase::setUp

File

core/tests/Drupal/Tests/Core/Entity/ContentEntityBaseUnitTest.php, line 127

Class

ContentEntityBaseUnitTest
@coversDefaultClass \Drupal\Core\Entity\ContentEntityBase @group Entity @group Access

Namespace

Drupal\Tests\Core\Entity

Code

protected function setUp() : void {
  $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->entityFieldManager = $this
    ->createMock(EntityFieldManagerInterface::class);
  $this->entityTypeBundleInfo = $this
    ->createMock(EntityTypeBundleInfoInterface::class);
  $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',
  ]));
  $english = new Language([
    'id' => 'en',
  ]);
  $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([
    'en' => $english,
    LanguageInterface::LANGCODE_NOT_SPECIFIED => $not_specified,
  ]));
  $this->languageManager
    ->expects($this
    ->any())
    ->method('getLanguage')
    ->with('en')
    ->will($this
    ->returnValue($english));
  $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->fieldTypePluginManager
    ->expects($this
    ->any())
    ->method('createFieldItemList')
    ->will($this
    ->returnValue($this
    ->createMock('Drupal\\Core\\Field\\FieldItemListInterface')));
  $container = new ContainerBuilder();
  $container
    ->set('entity_field.manager', $this->entityFieldManager);
  $container
    ->set('entity_type.bundle.info', $this->entityTypeBundleInfo);
  $container
    ->set('entity_type.manager', $this->entityTypeManager);
  $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(ContentEntityBase::class, [
    $values,
    $this->entityTypeId,
    $this->bundle,
  ], '', TRUE, TRUE, TRUE, [
    'isNew',
  ]);
  $values['defaultLangcode'] = [
    LanguageInterface::LANGCODE_DEFAULT => LanguageInterface::LANGCODE_NOT_SPECIFIED,
  ];
  $this->entityUnd = $this
    ->getMockForAbstractClass(ContentEntityBase::class, [
    $values,
    $this->entityTypeId,
    $this->bundle,
  ]);
}