CommentManagerTest.php in Drupal 9
File
core/modules/comment/tests/src/Unit/CommentManagerTest.php
View source
<?php
namespace Drupal\Tests\comment\Unit;
use Drupal\comment\CommentManager;
use Drupal\Core\Entity\EntityDisplayRepositoryInterface;
use Drupal\Core\Entity\EntityFieldManagerInterface;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\Entity\FieldableEntityInterface;
use Drupal\Core\Session\AccountInterface;
use Drupal\Tests\UnitTestCase;
class CommentManagerTest extends UnitTestCase {
public function testGetFields() {
$entity_type = $this
->createMock('Drupal\\Core\\Entity\\ContentEntityTypeInterface');
$entity_type
->expects($this
->any())
->method('getClass')
->will($this
->returnValue('Node'));
$entity_type
->expects($this
->any())
->method('entityClassImplements')
->with(FieldableEntityInterface::class)
->will($this
->returnValue(TRUE));
$entity_field_manager = $this
->createMock(EntityFieldManagerInterface::class);
$entity_type_manager = $this
->createMock(EntityTypeManagerInterface::class);
$entity_field_manager
->expects($this
->once())
->method('getFieldMapByFieldType')
->will($this
->returnValue([
'node' => [
'field_foobar' => [
'type' => 'comment',
],
],
]));
$entity_type_manager
->expects($this
->any())
->method('getDefinition')
->will($this
->returnValue($entity_type));
$comment_manager = new CommentManager($entity_type_manager, $this
->createMock('Drupal\\Core\\Config\\ConfigFactoryInterface'), $this
->createMock('Drupal\\Core\\StringTranslation\\TranslationInterface'), $this
->createMock('Drupal\\Core\\Extension\\ModuleHandlerInterface'), $this
->createMock(AccountInterface::class), $entity_field_manager, $this
->prophesize(EntityDisplayRepositoryInterface::class)
->reveal());
$comment_fields = $comment_manager
->getFields('node');
$this
->assertArrayHasKey('field_foobar', $comment_fields);
}
}