You are here

trait EntityUsageLastEntityQueryTrait in Entity Usage 8.3

Same name and namespace in other branches
  1. 8.2 tests/src/Traits/EntityUsageLastEntityQueryTrait.php \Drupal\Tests\entity_usage\Traits\EntityUsageLastEntityQueryTrait

Test trait providing helpers to query latest entities created.

Hierarchy

7 files declare their use of EntityUsageLastEntityQueryTrait
ConfigEntityTrackingTest.php in tests/src/FunctionalJavascript/ConfigEntityTrackingTest.php
DynamicEntityReferenceTest.php in tests/src/FunctionalJavascript/DynamicEntityReferenceTest.php
EmbeddedContentTest.php in tests/src/FunctionalJavascript/EmbeddedContentTest.php
IntegrationTest.php in tests/src/FunctionalJavascript/IntegrationTest.php
ListControllerTest.php in tests/src/FunctionalJavascript/ListControllerTest.php

... See full list

File

tests/src/Traits/EntityUsageLastEntityQueryTrait.php, line 8

Namespace

Drupal\Tests\entity_usage\Traits
View source
trait EntityUsageLastEntityQueryTrait {

  /**
   * Gets the latest entity created of a given type.
   *
   * Will fail the test if there is no entity of that type.
   *
   * @param string $entity_type_id
   *   The storage name of the entity.
   * @param bool $load
   *   (optional) Whether or not the return thould be the loaded entity.
   *   Defaults to FALSE.
   *
   * @return mixed
   *   The ID of the latest created entity of that type. If $load is TRUE, will
   *   use ::loadUnchanged() to get a fresh version of the entity object and
   *   return it.
   */
  protected function getLastEntityOfType($entity_type_id, $load = FALSE) {
    $query_result = \Drupal::entityQuery($entity_type_id)
      ->sort('created', 'DESC')
      ->range(0, 1)
      ->execute();
    $entity_id = reset($query_result);
    if (empty($entity_id)) {
      $this
        ->fail('Could not find latest entity of type: ' . $entity_type_id);
    }
    if ($load) {
      return \Drupal::entityTypeManager()
        ->getStorage($entity_type_id)
        ->loadUnchanged($entity_id);
    }
    else {
      return $entity_id;
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
EntityUsageLastEntityQueryTrait::getLastEntityOfType protected function Gets the latest entity created of a given type.