protected function ExportTest::validateTaxonomyTermCdfObject in Acquia Content Hub 8.2
Validates taxonomy term CDF object.
Parameters
string $name_expected: Expected term name.
string $bundle_expected: Expected bundle (vocabulary).
string $description_expected: Expected description.
File
- tests/
src/ Kernel/ ExportTest.php, line 1800
Class
- ExportTest
- Tests entity exports.
Namespace
Drupal\Tests\acquia_contenthub\KernelCode
protected function validateTaxonomyTermCdfObject($name_expected, $bundle_expected, $description_expected) {
$this
->validateBaseCdfObject();
$cdf = $this->cdfObject;
// Validate Type attribute.
$type = $cdf
->getType();
$this
->assertEquals('drupal8_content_entity', $type);
// Validate Metadata attribute.
$metadata = $cdf
->getMetadata();
$this
->assertNotEmpty($metadata['dependencies']['entity']);
$vocabulary_uuid = key($metadata['dependencies']['entity']);
unset($metadata['dependencies']);
$metadata_expected = [
'default_language' => 'en',
'field' => [
'uuid' => [
'type' => 'uuid',
],
'vid' => [
'type' => 'entity_reference',
'target' => 'taxonomy_vocabulary',
],
'status' => [
'type' => 'boolean',
],
'name' => [
'type' => 'string',
],
'description' => [
'type' => 'text_long',
],
'weight' => [
'type' => 'integer',
],
'parent' => [
'type' => 'entity_reference',
'target' => 'taxonomy_term',
],
'changed' => [
'type' => 'changed',
],
'default_langcode' => [
'type' => 'boolean',
],
'revision_created' => [
'type' => 'created',
],
'revision_user' => [
'type' => 'entity_reference',
'target' => 'user',
],
'revision_log_message' => [
'type' => 'string_long',
],
'revision_default' => [
'type' => 'boolean',
],
'revision_translation_affected' => [
'type' => 'boolean',
],
],
'languages' => [
'en',
],
'version' => 2,
];
unset($metadata['data']);
$this
->assertEquals($metadata_expected, $metadata);
// Validate "Data" attribute.
$data = $this
->getCdfDataAttribute($cdf);
$changed_timestamp = $data['changed']['value']['en']['value'];
$is_timestamp = is_numeric($changed_timestamp) && (int) $changed_timestamp == $changed_timestamp;
$this
->assertTrue($is_timestamp);
unset($data['revision_user']);
$data_expected = [
'uuid' => [
'value' => [
'en' => [
'value' => $cdf
->getUuid(),
],
],
],
'parent' => [],
'vid' => [
'value' => [
'en' => $vocabulary_uuid,
],
],
'status' => [
'value' => [
'en' => '1',
],
],
'name' => [
'value' => [
'en' => $name_expected,
],
],
'description' => [
'field_type' => 'text_long',
'value' => [
'en' => [
[
'value' => $description_expected,
'format' => NULL,
],
],
],
],
'weight' => [
'value' => [
'en' => '0',
],
],
'changed' => [
'value' => [
'en' => [
'value' => $changed_timestamp,
],
],
],
'default_langcode' => [
'value' => [
'en' => '1',
],
],
'revision_created' => [
'value' => [
'en' => [
'value' => $changed_timestamp,
],
],
],
'revision_log_message' => [
'value' => [
'en' => [],
],
],
'revision_default' => [
'value' => [
'en' => '1',
],
],
'revision_translation_affected' => [
'value' => [
'en' => '1',
],
],
];
$this
->assertEquals($data_expected, $data);
// Validate entity type.
$entity_type = $this
->getCdfAttribute($cdf, 'entity_type');
$this
->assertEquals('taxonomy_term', $entity_type);
// Validate bundle.
$bundle = $this
->getCdfAttribute($cdf, 'bundle');
$this
->assertEquals($bundle_expected, $bundle);
// Validate term name.
$name = $this
->getCdfAttribute($cdf, 'label', 'en');
$this
->assertEquals($name_expected, $name);
}