View source
<?php
namespace Drupal\Tests\taxonomy\Kernel\Views;
use Drupal\taxonomy\Entity\Term;
use Drupal\taxonomy\Entity\Vocabulary;
use Drupal\views\Entity\View;
use Drupal\views\Tests\ViewTestData;
class TaxonomyIndexTidFilterTest extends TaxonomyTestBase {
public static $testViews = [
'test_filter_taxonomy_index_tid__non_existing_dependency',
];
protected $terms = [];
protected function setUp($import_test_views = TRUE) {
parent::setUp(FALSE);
Vocabulary::create([
'vid' => 'tags',
'name' => 'Tags',
])
->save();
$term = Term::create([
'vid' => 'tags',
'name' => 'muh',
]);
$term
->save();
$this->terms[$term
->id()] = $term;
$term = Term::create([
'vid' => 'tags',
'name' => 'muh',
]);
$term
->save();
$this->terms[$term
->id()] = $term;
ViewTestData::createTestViews(get_class($this), [
'taxonomy_test_views',
]);
}
public function testConfigDependency() {
$view = View::load('test_filter_taxonomy_index_tid__non_existing_dependency');
$content_dependencies = [
$this->terms[3]
->getConfigDependencyName(),
$this->terms[4]
->getConfigDependencyName(),
];
sort($content_dependencies);
$this
->assertEquals([
'config' => [
'taxonomy.vocabulary.tags',
],
'content' => $content_dependencies,
'module' => [
'node',
'taxonomy',
'user',
],
], $view
->calculateDependencies()
->getDependencies());
$this->terms[3]
->delete();
$this
->assertEquals([
'config' => [
'taxonomy.vocabulary.tags',
],
'content' => [
$this->terms[4]
->getConfigDependencyName(),
],
'module' => [
'node',
'taxonomy',
'user',
],
], $view
->calculateDependencies()
->getDependencies());
}
public function testPostUpdateFunction() {
$view = View::load('test_filter_taxonomy_index_tid__non_existing_dependency');
$content_dependencies = [
$this->terms[3]
->getConfigDependencyName(),
$this->terms[4]
->getConfigDependencyName(),
];
sort($content_dependencies);
$this
->assertEquals([
'config' => [
'taxonomy.vocabulary.tags',
],
'content' => $content_dependencies,
'module' => [
'node',
'taxonomy',
'user',
],
], $view
->calculateDependencies()
->getDependencies());
$this->terms[3]
->delete();
\Drupal::moduleHandler()
->loadInclude('views', 'post_update.php');
views_post_update_taxonomy_index_tid();
$view = View::load('test_filter_taxonomy_index_tid__non_existing_dependency');
$this
->assertEquals([
'config' => [
'taxonomy.vocabulary.tags',
],
'content' => [
$this->terms[4]
->getConfigDependencyName(),
],
'module' => [
'node',
'taxonomy',
'user',
],
], $view
->getDependencies());
}
}