public function ContentEntityNormalizerTest::testNormalizeOneField in Acquia Content Hub 8
Tests the normalize() method.
Tests 1 field and checks if it appears in the normalized result.
@covers ::normalize @covers ::addFieldsToContentHubEntity
File
- tests/src/ Unit/ Normalizer/ ContentEntityNormalizerTest.php, line 243 
Class
- ContentEntityNormalizerTest
- PHPUnit test for the ContentEntityNormalizer class.
Namespace
Drupal\Tests\acquia_contenthub\Unit\NormalizerCode
public function testNormalizeOneField() {
  $this
    ->mockContainerResponseForNormalize();
  $definitions = [
    'field_1' => $this
      ->createMockFieldListItem('field_1', 'string', TRUE, $this->userContext, [
      '0' => [
        'value' => 'test',
      ],
    ]),
  ];
  // Set our Serializer and expected serialized return value for the given
  // fields.
  $serializer = $this
    ->getFieldsSerializer($definitions, $this->userContext);
  $this->contentEntityNormalizer
    ->setSerializer($serializer);
  // Create our Content Entity.
  $content_entity_mock = $this
    ->createMockForContentEntity($definitions, [
    'en',
  ]);
  // Normalize the Content Entity with the class that we are testing.
  $normalized = $this->contentEntityNormalizer
    ->normalize($content_entity_mock, 'acquia_contenthub_cdf');
  // Check if valid result.
  $this
    ->doTestValidResultForOneEntity($normalized);
  // Get our Content Hub Entity out of the result.
  $normalized_entity = $this
    ->getContentHubEntityFromResult($normalized);
  // Check the UUID property.
  $this
    ->assertEquals('custom-uuid', $normalized_entity
    ->getUuid());
  // Check if there was a created date set.
  $this
    ->assertNotEmpty($normalized_entity
    ->getCreated());
  // Check if there was a modified date set.
  $this
    ->assertNotEmpty($normalized_entity
    ->getModified());
  // Check if there was an origin property set.
  $this
    ->assertEquals('test-origin', $normalized_entity
    ->getOrigin());
  // Check if there was a type property set to the entity type.
  $this
    ->assertEquals('node', $normalized_entity
    ->getType());
  // Check if the field has the given value.
  $this
    ->assertEquals($normalized_entity
    ->getAttribute('field_1')
    ->getValues(), [
    'en' => [
      'test',
    ],
  ]);
}