You are here

public function MetatagFieldSerializerTest::testTransformMetatagValues in Acquia Content Hub 8.2

Tests the serialization of the metatag field.

@dataProvider dataProvider

Parameters

int $do_not_transform: Transform metatag canonical url.

string $rand_str: Random string.

Throws

\Drupal\Core\Entity\EntityMalformedException

\Drupal\Core\Entity\EntityStorageException

File

modules/acquia_contenthub_metatag/tests/src/Kernel/EventSubscriber/SerializeContentField/MetatagFieldSerializerTest.php, line 62

Class

MetatagFieldSerializerTest
Tests Metatag Field Serialization.

Namespace

Drupal\Tests\acquia_contenthub_metatag\Kernel\EventSubscriber\SerializeContentField

Code

public function testTransformMetatagValues(int $do_not_transform, string $rand_str) {
  $values = [
    self::FIELD_NAME => serialize([
      'title' => '[node:title] | [site:name]',
      'description' => '[node:summary]',
      'canonical_url' => '[node:url]' . $rand_str,
    ]),
  ];
  $this->entity = $this
    ->createNode($values);
  $field = $this->entity
    ->get(self::FIELD_NAME);
  $expected_output = $this
    ->prepareOutput($do_not_transform, $rand_str);
  $event = $this
    ->dispatchSerializeEvent(self::FIELD_NAME, $field);
  $langcode = $event
    ->getEntity()
    ->language()
    ->getId();
  $actual_output = unserialize($event
    ->getFieldData()['value'][$langcode]['value']);

  // Check expected output after metatag field serialization.
  $this
    ->assertEquals($expected_output, $actual_output);
}