outline-8.x-1.x-dev/tests/src/Kernel/EntryEntityQueryTest.php

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

namespace Drupal\Tests\outline\Kernel;

use Drupal\KernelTests\KernelTestBase;
use Drupal\Tests\outline\Traits\OutlineTestTrait;

/**
 * Verifies operation of a outline-based Entity Query.
 *
 * @group outline
 */
class EntryEntityQueryTest extends KernelTestBase {

  use OutlineTestTrait;

  /**
   * {@inheritdoc}
   */
  protected static $modules = [
    'field',
    'filter',
    'outline',
    'text',
    'user',
  ];

  /**
   * Tests that a basic outline entity query works.
   *
   * @throws \Drupal\Core\Entity\EntityStorageException
   */
  public function testEntryEntityQuery() {
    $this->installEntitySchema('outline_entry');
    $outline = $this->createOutline();

    $entries = [];
    for ($i = 0; $i < 5; $i++) {
      $entry = $this->createEntry($outline);
      $entries[$entry->id()] = $entry;
    }
    $result = \Drupal::entityQuery('outline_entry')->execute();
    sort($result);
    $this->assertEquals(array_keys($entries), $result);
    $eid = reset($result);
    $ids = (object) [
      'entity_type' => 'outline_entry',
      'entity_id' => $eid,
      'bundle' => $outline->id(),
    ];
    $entry = _field_create_entity_from_ids($ids);
    $this->assertEquals($eid, $entry->id());

    // Create a second outline and five more entries.
    $outline2 = $this->createOutline();
    $entries2 = [];
    for ($i = 0; $i < 5; $i++) {
      $entry = $this->createEntry($outline2);
      $entries2[$entry->id()] = $entry;
    }

    $result = \Drupal::entityQuery('outline_entry')
      ->condition('oid', $outline2->id())
      ->execute();
    sort($result);
    $this->assertEqual(array_keys($entries2), $result);
    $eid = reset($result);
    $ids = (object) [
      'entity_type' => 'outline_entry',
      'entity_id' => $eid,
      'bundle' => $outline2->id(),
    ];
    $entry = _field_create_entity_from_ids($ids);
    $this->assertEquals($eid, $entry->id());
  }

}

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

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