public function VocabularyCrudTest::testTaxonomyVocabularyDeleteWithTerms in Drupal 10
Same name and namespace in other branches
- 8 core/modules/taxonomy/tests/src/Kernel/VocabularyCrudTest.php \Drupal\Tests\taxonomy\Kernel\VocabularyCrudTest::testTaxonomyVocabularyDeleteWithTerms()
 - 9 core/modules/taxonomy/tests/src/Kernel/VocabularyCrudTest.php \Drupal\Tests\taxonomy\Kernel\VocabularyCrudTest::testTaxonomyVocabularyDeleteWithTerms()
 
Tests deleting a taxonomy that contains terms.
File
- core/
modules/ taxonomy/ tests/ src/ Kernel/ VocabularyCrudTest.php, line 45  
Class
- VocabularyCrudTest
 - Tests loading, saving and deleting vocabularies.
 
Namespace
Drupal\Tests\taxonomy\KernelCode
public function testTaxonomyVocabularyDeleteWithTerms() {
  $vocabulary = $this
    ->createVocabulary();
  $query = \Drupal::entityQuery('taxonomy_term')
    ->accessCheck(FALSE)
    ->count();
  // Assert that there are no terms left.
  $this
    ->assertEquals(0, $query
    ->execute());
  $terms = [];
  for ($i = 0; $i < 5; $i++) {
    $terms[$i] = $this
      ->createTerm($vocabulary);
  }
  // Set up hierarchy. term 2 is a child of 1 and 4 a child of 1 and 2.
  $terms[2]->parent = [
    $terms[1]
      ->id(),
  ];
  $terms[2]
    ->save();
  $terms[4]->parent = [
    $terms[1]
      ->id(),
    $terms[2]
      ->id(),
  ];
  $terms[4]
    ->save();
  // Assert that there are now 5 terms.
  $this
    ->assertEquals(5, $query
    ->execute());
  $vocabulary
    ->delete();
  // Assert that there are no terms left.
  $this
    ->assertEquals(0, $query
    ->execute());
}