content_entity_base-8.x-1.x-dev/tests/src/Kernel/CEBKernelTestBase.php

tests/src/Kernel/CEBKernelTestBase.php
<?php

namespace Drupal\Tests\content_entity_base\Kernel;

use Drupal\ceb_test\Entity\CebTestContent;
use Drupal\ceb_test\Entity\CebTestContentType;
use Drupal\KernelTests\KernelTestBase;
use Drupal\user\Entity\Role;
use Drupal\user\Entity\User;

/**
 * @coversDefaultClass \Drupal\content_entity_base\Entity\Storage\ContentEntityBaseStorage
 * @group content_entity_base
 */
class CEBKernelTestBase extends KernelTestBase {

  /**
   * @var \Drupal\ceb_test\Entity\CebTestContentType[]
   */
  protected $bundles;

  /**
   * {@inheritdoc}
   */
  public static $modules = [
    'content_entity_base',
    'ceb_test',
    'system',
    'user',
  ];

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

    $this->installEntitySchema('ceb_test_content');
    $this->installEntitySchema('user');
    $this->installSchema('system', ['router', 'sequences']);
  }

  /**
   * @return \Drupal\content_entity_base\Entity\Storage\RevisionableStorageInterface
   */
  protected function getStorage() {
    return \Drupal::entityTypeManager()->getStorage('ceb_test_content');
  }

  /**
   * Creates a test user.
   *
   * @param array $permissions
   * @return \Drupal\user\UserInterface
   */
  protected function drupalCreateUser(array $permissions = []) {
    $role = Role::create([
      'id' => 'test_role__' . $this->randomMachineName(),
    ]);
    foreach ($permissions as $permission) {
      $role->grantPermission($permission);
    }
    $role->save();
    /** @var \Drupal\user\UserInterface $user */
    $user = User::create([
      'name' => 'test name  ' . $this->randomMachineName(),
    ]);
    $user->addRole($role->id());
    $user->save();

    return $user;
  }

  /**
   * Creates a test entity bundle.
   *
   * @param array $config
   * @return \Drupal\ceb_test\Entity\CebTestContentType|static
   */
  protected function createTestBundle($config = []) {
    $test_bundle = CebTestContentType::create($config + [
      'id' => $this->randomMachineName(),
      'label' => $this->randomString(),
      'revision' => TRUE,
    ]);
    $test_bundle->save();
    return $test_bundle;
  }

  /**
   * Helper to create the first test bundle.
   */
  protected function createFirstBundle() {
    $this->bundles = [
      $this->createTestBundle(),
    ];
  }

  /**
   * Helper to get the first bundle id.
   */
  protected function getFirstBundleID() {

    $bundle = reset($this->bundles);
    return $bundle->id();
  }

  /**
   * Creates a test entity bundle.
   *
   * @param array $config
   * @return \Drupal\ceb_test\Entity\CebTestContentType|static
   */
  protected function createAdditionalBundle($config = []) {
    $this->bundles[] = $this->createTestBundle($config);

    return end($this->bundles);
  }

  /**
   * Creates a test entity.
   *
   * @return EntityBaseInterface
   *   The created entity.
   */
  protected function createTestEntity() {
    return CebTestContent::create([
      'type' => 'test_bundle',
      'name' => $this->randomString(),
      'body' => $this->randomString(),
    ]);
  }

}

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

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