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

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

namespace Drupal\Tests\eva\Functional;

use Drupal\Tests\BrowserTestBase;

/**
 * Browser testing for Eva.
 */
abstract class EvaTestBase extends BrowserTestBase {

  /**
   * The default theme.
   *
   * @var string
   */
  protected $defaultTheme = 'stark';

  /**
   * {@inheritdoc}
   */
  protected static $modules = [
    'eva',
    'eva_test',
    'node',
    'views',
    'user',
    'text',
  ];

  /**
   * Number of articles to generate.
   *
   * @var int
   */
  protected $articleCount = 20;

  /**
   * Number of pages to generate.
   *
   * @var int
   */
  protected $pageCount = 10;

  /**
   * Hold the page NID.
   *
   * @var array
   */
  protected $nids = [];

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

    $this->makeNodes();
  }

  /**
   * Create some example nodes.
   */
  protected function makeNodes() {
    // Single page for simple Eva test.
    $node = $this->createNode([
      'title' => 'Test Eva',
      'type' => 'just_eva',
    ]);
    $this->nids['just_eva'] = $node->id();

    // Pages for lists-in-lists.
    $this->nids['pages'] = [];
    for ($i = 0; $i < $this->pageCount; $i++) {
      $node = $this->createNode([
        'title' => sprintf('Page %d', $i + 1),
        'type' => 'page_with_related_articles',
      ]);
      $this->nids['pages'][] = $node->id();
    }

    // Articles.
    for ($i = 0; $i < $this->articleCount; $i++) {
      $node = $this->createNode([
        'title' => sprintf('Article %d', $i + 1),
        'type' => 'mini',
      ]);

      // Associate articles with assorted pages.
      $k = array_rand($this->nids['pages'], 1);
      $node->field_page[] = $this->nids['pages'][$k];
      $node->save();
    }
  }

}

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

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