You are here

protected function ResourceTestBase::getModifiedEntityForPostTesting in JSON:API 8

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

Gets the normalized POST entity with random values for its unique fields.

Return value

array An array structure as returned by ::getNormalizedPostEntity().

See also

::testPostIndividual

::getPostDocument

1 call to ResourceTestBase::getModifiedEntityForPostTesting()
ResourceTestBase::testPostIndividual in tests/src/Functional/ResourceTestBase.php
Tests POSTing an individual resource, plus edge cases to ensure good DX.

File

tests/src/Functional/ResourceTestBase.php, line 2493

Class

ResourceTestBase
Subclass this for every JSON API resource type.

Namespace

Drupal\Tests\jsonapi\Functional

Code

protected function getModifiedEntityForPostTesting() {
  $document = $this
    ->getPostDocument();

  // Ensure that all the unique fields of the entity type get a new random
  // value.
  foreach (static::$uniqueFieldNames as $field_name) {
    $field_definition = $this->entity
      ->getFieldDefinition($field_name);
    $field_type_class = $field_definition
      ->getItemDefinition()
      ->getClass();
    $document['data']['attributes'][$field_name] = $field_type_class::generateSampleValue($field_definition);
  }
  return $document;
}