better_exposed_filters-8.x-4.x-dev/tests/src/FunctionalJavascript/BetterExposedCheckboxTest.php

tests/src/FunctionalJavascript/BetterExposedCheckboxTest.php
<?php

namespace Drupal\Tests\better_exposed_filters\FunctionalJavascript;

use Drupal\views\Views;

/**
 * Tests functionality around checkboxes.
 *
 * @group better_exposed_filters
 */
class BetterExposedCheckboxTest extends BetterExposedFiltersTestBase {

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

    // Create a few test nodes.
    $this->createNode([
      'title' => 'Page One',
      'field_bef_price' => '10',
      'type' => 'bef_test',
    ]);
    $this->createNode([
      'title' => 'Page Two',
      'field_bef_price' => '75',
      'type' => 'bef_test',
    ]);
  }

  /**
   * Tests the soft limit feature.
   *
   * @throws \Behat\Mink\Exception\ExpectationException
   * @throws \Drupal\Core\Entity\EntityStorageException
   */
  public function testBefCheckboxSoftLimit(): void {
    $view = Views::getView('bef_test');
    $session = $this->assertSession();

    $this->setBetterExposedOptions($view, [
      'filter' => [
        'field_bef_letters_value' => [
          'plugin_id' => 'bef',
          'soft_limit' => '3',
          'soft_limit_label_less' => 'Less test',
          'soft_limit_label_more' => 'More test',
        ],
      ],
    ], 'page_5');

    $this->drupalGet('/bef-test-checkboxes');
    $session->elementTextEquals('css', '.bef-soft-limit-link', 'More test');
    $session->pageTextContains('Aardvark');
    $session->pageTextContains('Bumble & the Bee');
    $session->pageTextContains('Le Chimpanzé');
    $session->pageTextNotContains('Donkey');
    $session->pageTextNotContains('Elephant');
    $this->clickLink('More test');
    $session->pageTextContains('Aardvark');
    $session->pageTextContains('Bumble & the Bee');
    $session->pageTextContains('Le Chimpanzé');
    $session->pageTextContains('Donkey');
    $session->pageTextContains('Elephant');
    $session->elementTextEquals('css', '.bef-soft-limit-link', 'Less test');

    // Now lets test soft limit on links.
    $this->setBetterExposedOptions($view, [
      'filter' => [
        'field_bef_letters_value' => [
          'plugin_id' => 'bef_links',
          'soft_limit' => '3',
          'soft_limit_label_less' => 'Less test',
          'soft_limit_label_more' => 'More test',
        ],
      ],
    ], 'page_5');

    $this->drupalGet('/bef-test-checkboxes');
    $session->elementTextEquals('css', '.bef-soft-limit-link', 'More test');
    $session->pageTextContains('Aardvark');
    $session->pageTextContains('Bumble & the Bee');
    $session->pageTextContains('Le Chimpanzé');
    $session->pageTextNotContains('Donkey');
    $session->pageTextNotContains('Elephant');
    $this->clickLink('More test');
    $session->pageTextContains('Aardvark');
    $session->pageTextContains('Bumble & the Bee');
    $session->pageTextContains('Le Chimpanzé');
    $session->pageTextContains('Donkey');
    $session->pageTextContains('Elephant');
    $session->elementTextEquals('css', '.bef-soft-limit-link', 'Less test');
  }

}

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

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