function RelationshipNodeTermDataTest::testViewsHandlerRelationshipNodeTermData

Same name in other branches
  1. 8.9.x core/modules/taxonomy/tests/src/Functional/Views/RelationshipNodeTermDataTest.php \Drupal\Tests\taxonomy\Functional\Views\RelationshipNodeTermDataTest::testViewsHandlerRelationshipNodeTermData()
  2. 10 core/modules/taxonomy/tests/src/Kernel/Views/RelationshipNodeTermDataTest.php \Drupal\Tests\taxonomy\Kernel\Views\RelationshipNodeTermDataTest::testViewsHandlerRelationshipNodeTermData()
  3. 11.x core/modules/taxonomy/tests/src/Kernel/Views/RelationshipNodeTermDataTest.php \Drupal\Tests\taxonomy\Kernel\Views\RelationshipNodeTermDataTest::testViewsHandlerRelationshipNodeTermData()

File

core/modules/taxonomy/tests/src/Functional/Views/RelationshipNodeTermDataTest.php, line 27

Class

RelationshipNodeTermDataTest
Tests the taxonomy term on node relationship handler.

Namespace

Drupal\Tests\taxonomy\Functional\Views

Code

public function testViewsHandlerRelationshipNodeTermData() {
    $view = Views::getView('test_taxonomy_node_term_data');
    // Tests \Drupal\taxonomy\Plugin\views\relationship\NodeTermData::calculateDependencies().
    $expected = [
        'config' => [
            'core.entity_view_mode.node.teaser',
        ],
        'module' => [
            'node',
            'taxonomy',
            'user',
        ],
    ];
    $this->assertSame($expected, $view->getDependencies());
    $this->executeView($view, [
        $this->term1
            ->id(),
        $this->term2
            ->id(),
    ]);
    $expected_result = [
        [
            'nid' => $this->nodes[1]
                ->id(),
        ],
        [
            'nid' => $this->nodes[0]
                ->id(),
        ],
    ];
    $column_map = [
        'nid' => 'nid',
    ];
    $this->assertIdenticalResultset($view, $expected_result, $column_map);
    // Change the view to test relation limited by vocabulary.
    $this->config('views.view.test_taxonomy_node_term_data')
        ->set('display.default.display_options.relationships.term_node_tid.vids', [
        'views_testing_tags',
    ])
        ->save();
    $view = Views::getView('test_taxonomy_node_term_data');
    // Tests \Drupal\taxonomy\Plugin\views\relationship\NodeTermData::calculateDependencies().
    $expected['config'][] = 'taxonomy.vocabulary.views_testing_tags';
    $this->assertSame($expected, $view->getDependencies());
    $this->executeView($view, [
        $this->term1
            ->id(),
        $this->term2
            ->id(),
    ]);
    $this->assertIdenticalResultset($view, $expected_result, $column_map);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.