function EntityUnitTest::testLoad

Same name and namespace in other branches
  1. 8.9.x core/tests/Drupal/Tests/Core/Entity/EntityUnitTest.php \Drupal\Tests\Core\Entity\EntityUnitTest::testLoad()
  2. 10 core/tests/Drupal/Tests/Core/Entity/EntityUnitTest.php \Drupal\Tests\Core\Entity\EntityUnitTest::testLoad()
  3. 11.x core/tests/Drupal/Tests/Core/Entity/EntityUnitTest.php \Drupal\Tests\Core\Entity\EntityUnitTest::testLoad()

@covers ::load

Tests Entity::load() when called statically on a subclass of Entity.

File

core/tests/Drupal/Tests/Core/Entity/EntityUnitTest.php, line 248

Class

EntityUnitTest
@coversDefaultClass <a href="/api/drupal/core%21lib%21Drupal%21Core%21Entity%21EntityBase.php/class/EntityBase/9" title="Defines a base entity class." class="local">\Drupal\Core\Entity\EntityBase</a> @group Entity @group Access

Namespace

Drupal\Tests\Core\Entity

Code

public function testLoad() {
    $this->setupTestLoad();
    $class_name = get_class($this->entity);
    $entity_type_repository = $this->getMockForAbstractClass(EntityTypeRepositoryInterface::class);
    $entity_type_repository->expects($this->once())
        ->method('getEntityTypeFromClass')
        ->with($class_name)
        ->willReturn($this->entityTypeId);
    $storage = $this->createMock(EntityStorageInterface::class);
    $storage->expects($this->once())
        ->method('load')
        ->with(1)
        ->willReturn($this->entity);
    $this->entityTypeManager
        ->expects($this->once())
        ->method('getStorage')
        ->with($this->entityTypeId)
        ->willReturn($storage);
    \Drupal::getContainer()->set('entity_type.repository', $entity_type_repository);
    // Call Entity::load statically and check that it returns the mock entity.
    $this->assertSame($this->entity, $class_name::load(1));
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.