listjs-8.x-1.x-dev/tests/src/FunctionalJavascript/ListjsThemeTest.php

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

namespace Drupal\Tests\listjs\FunctionalJavascript;

use Drupal\FunctionalJavascriptTests\WebDriverTestBase;

/**
 * Tests listjs theme integration.
 *
 * @group listjs
 */
class ListjsThemeTest extends WebDriverTestBase {

  /**
   * Modules to enable.
   *
   * @var array
   */
  protected static $modules = [
    'listjs',
    'listjs_cdn_alter',
    'listjs_theme_test',
  ];

  /**
   * The installation profile to use with this test.
   *
   * @var string
   */
  protected $profile = 'standard';

  /**
   * Test whether filter is working for house field.
   */
  public function testFilterHouseField() {
    $this->drupalGet('/listjs-theme-test');
    $page = $this->getSession()->getPage();

    $page->fillField('mykittens-are-unique-filter', 'sin');

    $this->assertCount(1, $page->findAll('css', '.mykittens li'));
    $this->assertEquals($page->find('css', '.mykittens li .value_name-house')->getText(), "Singh's");
    $this->assertEquals($page->find('css', '.mykittens li .value_name-cat')->getText(), 'Tabby');
    $this->assertNotEquals($page->find('css', '.mykittens li .value_name-cat')->getText(), 'Binky');
  }

  /**
   * Test whether filter is working for cat field.
   */
  public function testFilterCatField() {
    $this->drupalGet('/listjs-theme-test');
    $page = $this->getSession()->getPage();

    $page->fillField('mykittens-are-unique-filter', 'chink');

    $this->assertCount(1, $page->findAll('css', '.mykittens li'));
    $this->assertEquals($page->find('css', '.mykittens li .value_name-house')->getText(), "Paul's");
    $this->assertEquals($page->find('css', '.mykittens li .value_name-cat')->getText(), 'Chinky');
    $this->assertNotEquals($page->find('css', '.mykittens li .value_name-cat')->getText(), "Jones's");
  }

  /**
   * Test whether sort is working.
   */
  public function testSort() {
    $this->drupalGet('/listjs-theme-test');
    $page = $this->getSession()->getPage();

    $page->findButton('Sort Kittens')->click();

    $this->assertCount(4, $page->findAll('css', '.mykittens li'));

    $elements = $page->findAll('css', '.mykittens li .value_name-cat');

    $this->assertEquals($elements[0]->getText(), 'Binky');
    $this->assertEquals($elements[3]->getText(), 'Tabby');
  }

  /**
   * Test whether disable sort setting is working.
   */
  public function testDisableSort() {
    $this->drupalGet('/listjs-theme-test');
    $page = $this->getSession()->getPage();

    $this->assertNull($page->findButton('Sort House'));
  }

}

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

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