eva-8.x-2.1/tests/src/Functional/EvaViewTest.php

tests/src/Functional/EvaViewTest.php
<?php

namespace Drupal\Tests\eva\Functional;

use Drupal\Tests\BrowserTestBase;
use Drupal\views\Entity\View;
use Drupal\views\Views;

/**
 * Test eva view.
 *
 * @group eva
 */
class EvaViewTest extends BrowserTestBase {

  /**
   * {@inheritdoc}
   */
  protected $defaultTheme = 'stark';

  /**
   * {@inheritdoc}
   */
  protected static $modules = [
    'node',
    'field',
    'eva',
    'views',
    'views_ui',
  ];

  /**
   * {@inheritdoc}
   */
  protected function setUp(): void {
    parent::setUp();

    $adminUser = $this->drupalCreateUser();
    $adminUser->addRole($this->createAdminRole('admin', 'admin'));
    $adminUser->save();
    $this->drupalLogin($adminUser);

    $this->createContentType(['type' => 'article', 'name' => 'Article']);
  }

  /**
   * Tests the EVA view title display and toggle functionality.
   */
  public function testEvaViewTitle() {
    $view_title = 'foo & bar';

    $view = View::create([
      'id' => 'test',
      'label' => 'Test',
      'base_table' => 'users_field_data',
      'base_field' => 'uid',
      'display' => [
        'default' => [
          'display_title' => 'Default',
          'display_plugin' => 'default',
          'id' => 'default',
          'display_options' => [],
        ],
        'entity_view_1' => [
          'display_title' => 'Eva',
          'display_plugin' => 'entity_view',
          'id' => 'entity_view_1',
          'display_options' => [
            'title' => $view_title,
            'entity_type' => 'node',
            'show_title' => TRUE,
          ],
        ],
      ],
    ]);
    $view->save();

    $node = $this->drupalCreateNode(['type' => 'article']);
    $nid = $node->id();

    $this->drupalGet("node/$nid");

    $this->assertSession()->pageTextContains($view_title, 'EVA view title should appear on the node page.');

    // Disable eva title.
    $view = Views::getView('test');
    $view->setDisplay('entity_view_1');
    $view->displayHandlers->get('entity_view_1')->setOption('show_title', FALSE);
    $view->save();

    $this->drupalGet("node/$nid");

    $this->assertSession()->pageTextNotContains($view_title, 'EVA view title should not appear after disabling it.');
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc