You are here

protected function CommentTest::createEntity in JSON:API 8

Same name and namespace in other branches
  1. 8.2 tests/src/Functional/CommentTest.php \Drupal\Tests\jsonapi\Functional\CommentTest::createEntity()

Creates the entity to be tested.

Return value

\Drupal\Core\Entity\EntityInterface The entity to be tested.

Overrides ResourceTestBase::createEntity

File

tests/src/Functional/CommentTest.php, line 97

Class

CommentTest
JSON API integration test for the "Comment" content entity type.

Namespace

Drupal\Tests\jsonapi\Functional

Code

protected function createEntity() {

  // Create a "bar" bundle for the "entity_test" entity type and create.
  $bundle = 'bar';
  entity_test_create_bundle($bundle, NULL, 'entity_test');

  // Create a comment field on this bundle.
  $this
    ->addDefaultCommentField('entity_test', 'bar', 'comment');

  // Create a "Camelids" test entity that the comment will be assigned to.
  $commented_entity = EntityTest::create([
    'name' => 'Camelids',
    'type' => 'bar',
  ]);
  $commented_entity
    ->save();

  // Create a "Llama" comment.
  $comment = Comment::create([
    'comment_body' => [
      'value' => 'The name "llama" was adopted by European settlers from native Peruvians.',
      'format' => 'plain_text',
    ],
    'entity_id' => $commented_entity
      ->id(),
    'entity_type' => 'entity_test',
    'field_name' => 'comment',
  ]);
  $comment
    ->setSubject('Llama')
    ->setOwnerId($this->account
    ->id())
    ->setPublished(TRUE)
    ->setCreatedTime(123456789)
    ->setChangedTime(123456789);
  $comment
    ->save();
  return $comment;
}