You are here

protected function ExportTest::validateFieldStorageCdfObject in Acquia Content Hub 8.2

Validates field storage CDF object.

Parameters

string $name_expected: Expected field name.

string $type_expected: Expected field type.

array $dependencies_expected: List of expected dependencies (modules).

array $settings_expected: Expected specific field settings.

int $cardinality_expected: Expected field cardinality.

File

tests/src/Kernel/ExportTest.php, line 1974

Class

ExportTest
Tests entity exports.

Namespace

Drupal\Tests\acquia_contenthub\Kernel

Code

protected function validateFieldStorageCdfObject($name_expected, $type_expected, array $dependencies_expected, array $settings_expected, $cardinality_expected) {
  $this
    ->validateBaseCdfObject();
  $cdf = $this->cdfObject;
  $id_expected = 'node.' . $name_expected;

  // Validate Type attribute.
  $type = $cdf
    ->getType();
  $this
    ->assertEquals('drupal8_config_entity', $type);

  // Validate Metadata attribute.
  $metadata = $cdf
    ->getMetadata();
  $metadata_expected = [
    'default_language' => 'en',
    'dependencies' => [
      'module' => array_merge($dependencies_expected, [
        'field',
      ]),
    ],
  ];
  unset($metadata['data']);
  $this
    ->assertEquals($metadata_expected, $metadata);

  // Validate "Data" attribute.
  $data = $this
    ->getCdfDataAttribute($cdf);
  $data_expected = [
    'en' => [
      'uuid' => $cdf
        ->getUuid(),
      'langcode' => 'en',
      'status' => TRUE,
      'dependencies' => [
        'module' => $dependencies_expected,
      ],
      'id' => $id_expected,
      'field_name' => $name_expected,
      'entity_type' => 'node',
      'type' => $type_expected,
      'settings' => $settings_expected,
      'module' => 'core',
      'locked' => FALSE,
      'cardinality' => $cardinality_expected,
      'translatable' => TRUE,
      'indexes' => [],
      'persist_with_no_fields' => FALSE,
      'custom_storage' => FALSE,
    ],
  ];
  $this
    ->assertEquals($data_expected, $data);

  // Validate entity type.
  $entity_type = $this
    ->getCdfAttribute($cdf, 'entity_type');
  $this
    ->assertEquals('field_storage_config', $entity_type);

  // Validate field id.
  $id = $this
    ->getCdfAttribute($cdf, 'label', 'en');
  $this
    ->assertEquals($id_expected, $id);
}