You are here

protected function CommentHalJsonTestBase::getExpectedNormalizedEntity in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/comment/tests/src/Functional/Hal/CommentHalJsonTestBase.php \Drupal\Tests\comment\Functional\Hal\CommentHalJsonTestBase::getExpectedNormalizedEntity()

Returns the expected normalization of the entity.

Return value

array

Overrides CommentResourceTestBase::getExpectedNormalizedEntity

See also

::createEntity()

File

core/modules/comment/tests/src/Functional/Hal/CommentHalJsonTestBase.php, line 52

Class

CommentHalJsonTestBase

Namespace

Drupal\Tests\comment\Functional\Hal

Code

protected function getExpectedNormalizedEntity() {
  $default_normalization = parent::getExpectedNormalizedEntity();
  $normalization = $this
    ->applyHalFieldNormalization($default_normalization);

  // Because \Drupal\comment\Entity\Comment::getOwner() generates an in-memory
  // User entity without a UUID, we cannot use it.
  $author = User::load($this->entity
    ->getOwnerId());
  $commented_entity = EntityTest::load(1);
  return $normalization + [
    '_links' => [
      'self' => [
        'href' => $this->baseUrl . '/comment/1?_format=hal_json',
      ],
      'type' => [
        'href' => $this->baseUrl . '/rest/type/comment/comment',
      ],
      $this->baseUrl . '/rest/relation/comment/comment/entity_id' => [
        [
          'href' => $this->baseUrl . '/entity_test/1?_format=hal_json',
        ],
      ],
      $this->baseUrl . '/rest/relation/comment/comment/uid' => [
        [
          'href' => $this->baseUrl . '/user/' . $author
            ->id() . '?_format=hal_json',
          'lang' => 'en',
        ],
      ],
    ],
    '_embedded' => [
      $this->baseUrl . '/rest/relation/comment/comment/entity_id' => [
        [
          '_links' => [
            'self' => [
              'href' => $this->baseUrl . '/entity_test/1?_format=hal_json',
            ],
            'type' => [
              'href' => $this->baseUrl . '/rest/type/entity_test/bar',
            ],
          ],
          'uuid' => [
            [
              'value' => $commented_entity
                ->uuid(),
            ],
          ],
        ],
      ],
      $this->baseUrl . '/rest/relation/comment/comment/uid' => [
        [
          '_links' => [
            'self' => [
              'href' => $this->baseUrl . '/user/' . $author
                ->id() . '?_format=hal_json',
            ],
            'type' => [
              'href' => $this->baseUrl . '/rest/type/user/user',
            ],
          ],
          'uuid' => [
            [
              'value' => $author
                ->uuid(),
            ],
          ],
          'lang' => 'en',
        ],
      ],
    ],
  ];
}