public function ExporterIntegrationTest::testExportContent in Default Content for D8 8
Same name and namespace in other branches
- 2.0.x tests/src/Kernel/ExporterIntegrationTest.php \Drupal\Tests\default_content\Kernel\ExporterIntegrationTest::testExportContent()
Tests exportContent().
File
- tests/src/ Kernel/ ExporterIntegrationTest.php, line 47 
Class
- ExporterIntegrationTest
- Tests export functionality.
Namespace
Drupal\Tests\default_content\KernelCode
public function testExportContent() {
  \Drupal::service('module_installer')
    ->install([
    'taxonomy',
    'default_content',
  ]);
  \Drupal::service('router.builder')
    ->rebuild();
  $this->exporter = \Drupal::service('default_content.exporter');
  $vocabulary = Vocabulary::create([
    'vid' => 'test',
  ]);
  $vocabulary
    ->save();
  $term = Term::create([
    'vid' => $vocabulary
      ->id(),
    'name' => 'test_name',
  ]);
  $term
    ->save();
  $term = Term::load($term
    ->id());
  /** @var \Symfony\Component\Serializer\Serializer $serializer */
  $serializer = \Drupal::service('serializer');
  \Drupal::service('hal.link_manager')
    ->setLinkDomain($this->container
    ->getParameter('default_content.link_domain'));
  $expected = $serializer
    ->serialize($term, 'hal_json', [
    'json_encode_options' => JSON_PRETTY_PRINT,
  ]);
  $exported = $this->exporter
    ->exportContent('taxonomy_term', $term
    ->id());
  $exported_decoded = json_decode($exported);
  // Ensure the proper UUID is part of it.
  $this
    ->assertEqual($exported_decoded->uuid[0]->value, $term
    ->uuid());
  $this
    ->assertEqual($exported, $expected);
  // Tests export of taxonomy parent field.
  // @todo Get rid of after https://www.drupal.org/node/2543726
  $child_term = $term = Term::create([
    'vid' => $vocabulary
      ->id(),
    'name' => 'child_name',
    'parent' => $term
      ->id(),
  ]);
  $child_term
    ->save();
  // Make sure parent relation is exported.
  $exported = $this->exporter
    ->exportContent('taxonomy_term', $child_term
    ->id());
  $relation_uri = 'http://drupal.org/rest/relation/taxonomy_term/test/parent';
  $exported_decoded = json_decode($exported);
  $this
    ->assertFalse(empty($exported_decoded->_links->{$relation_uri}));
  $this
    ->assertFalse(empty($exported_decoded->_embedded->{$relation_uri}));
}