RowEntityTest.php

Same filename in other branches
  1. 8.9.x core/modules/views/tests/src/Kernel/Plugin/RowEntityTest.php
  2. 10 core/modules/views/tests/src/Kernel/Plugin/RowEntityTest.php
  3. 11.x core/modules/views/tests/src/Kernel/Plugin/RowEntityTest.php

Namespace

Drupal\Tests\views\Kernel\Plugin

File

core/modules/views/tests/src/Kernel/Plugin/RowEntityTest.php

View source
<?php

namespace Drupal\Tests\views\Kernel\Plugin;

use Drupal\Core\Form\FormState;
use Drupal\views\Views;
use Drupal\Tests\views\Kernel\ViewsKernelTestBase;
use Drupal\taxonomy\Entity\Vocabulary;
use Drupal\taxonomy\Entity\Term;

/**
 * Tests the generic entity row plugin.
 *
 * @group views
 * @see \Drupal\views\Plugin\views\row\EntityRow
 */
class RowEntityTest extends ViewsKernelTestBase {
    
    /**
     * Modules to enable.
     *
     * @var array
     */
    protected static $modules = [
        'taxonomy',
        'text',
        'filter',
        'field',
        'system',
        'node',
        'user',
    ];
    
    /**
     * Views used by this test.
     *
     * @var array
     */
    public static $testViews = [
        'test_entity_row',
    ];
    
    /**
     * {@inheritdoc}
     */
    protected function setUp($import_test_views = TRUE) : void {
        parent::setUp();
        $this->installEntitySchema('taxonomy_term');
        $this->installConfig([
            'taxonomy',
        ]);
    }
    
    /**
     * Tests the entity row handler.
     */
    public function testEntityRow() {
        $vocab = Vocabulary::create([
            'name' => $this->randomMachineName(),
            'vid' => strtolower($this->randomMachineName()),
        ]);
        $vocab->save();
        $term = Term::create([
            'name' => $this->randomMachineName(),
            'vid' => $vocab->id(),
        ]);
        $term->save();
        $view = Views::getView('test_entity_row');
        $build = $view->preview();
        $this->render($build);
        $this->assertText($term->getName(), 'The rendered entity appears as row in the view.');
        // Tests the available view mode options.
        $form = [];
        $form_state = new FormState();
        $form_state->set('view', $view->storage);
        $view->rowPlugin
            ->buildOptionsForm($form, $form_state);
        $this->assertTrue(isset($form['view_mode']['#options']['default']), 'Ensure that the default view mode is available');
    }

}

Classes

Title Deprecated Summary
RowEntityTest Tests the generic entity row plugin.

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