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());
}
}
