You are here

protected function TaxonomyTermTest::assertHierarchy in Commerce Migrate 3.1.x

Same name and namespace in other branches
  1. 8.2 modules/csv_example/tests/src/Kernel/Migrate/TaxonomyTermTest.php \Drupal\Tests\commerce_migrate_csv_example\Kernel\Migrate\TaxonomyTermTest::assertHierarchy()
  2. 3.0.x modules/csv_example/tests/src/Kernel/Migrate/TaxonomyTermTest.php \Drupal\Tests\commerce_migrate_csv_example\Kernel\Migrate\TaxonomyTermTest::assertHierarchy()

Assert that a term is present in the tree storage, with the right parents.

Parameters

string $vid: Vocabulary ID.

int $tid: ID of the term to check.

array $parent_ids: The expected parent term IDs.

1 call to TaxonomyTermTest::assertHierarchy()
TaxonomyTermTest::assertEntity in modules/csv_example/tests/src/Kernel/Migrate/TaxonomyTermTest.php
Validate a migrated term contains the expected values.

File

modules/csv_example/tests/src/Kernel/Migrate/TaxonomyTermTest.php, line 138

Class

TaxonomyTermTest
Upgrade taxonomy terms.

Namespace

Drupal\Tests\commerce_migrate_csv_example\Kernel\Migrate

Code

protected function assertHierarchy($vid, $tid, array $parent_ids) {
  if (!isset($this->treeData[$vid])) {
    $tree = \Drupal::entityTypeManager()
      ->getStorage('taxonomy_term')
      ->loadTree($vid);
    $this->treeData[$vid] = [];
    foreach ($tree as $item) {
      $this->treeData[$vid][$item->tid] = $item;
    }
  }
  $this
    ->assertArrayHasKey($tid, $this->treeData[$vid], "Term {$tid} exists in taxonomy tree");
  $term = $this->treeData[$vid][$tid];
  $this
    ->assertEquals($parent_ids, array_filter($term->parents), "Term {$tid} has correct parents in taxonomy tree");
}