contentserialize-8.x-1.x-dev/modules/bulkentity/tests/src/Unit/EntityLoaderTest.php

modules/bulkentity/tests/src/Unit/EntityLoaderTest.php
<?php

namespace Drupal\Tests\bulkentity\Unit;

use Drupal\bulkentity\EntityLoader;
use Drupal\Core\Entity\EntityStorageInterface;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Tests\UnitTestCase;

/**
 * Tests EntityLoader.
 *
 * @coversDefaultClass \Drupal\bulkentity\EntityLoader
 *
 * @group bulkentity
 */
class EntityLoaderTest extends UnitTestCase {

  /**
   * Test byIds correctly batches and resets the static cache.
   *
   * @covers ::byIds
   */
  public function testByIds() {
    // This might turn out to be a bit brittle by its reliance on $this->at()
    // but it does sanity-check the batching and static cache reset.
    $storage_mock = $this->createMock(EntityStorageInterface::class);
    $storage_mock->expects($this->at(0))
      ->method('loadMultiple')
      ->willReturn([new \stdClass(), new \stdClass(), new \stdClass()]);
    $storage_mock->expects($this->at(1))
      ->method('resetCache');
    $storage_mock->expects($this->at(2))
      ->method('loadMultiple')
      ->willReturn([new \stdClass(), new \stdClass(), new \stdClass()]);
    $storage_mock->expects($this->at(3))
      ->method('resetCache');
    $storage_mock->expects($this->at(4))
      ->method('loadMultiple')
      ->willReturn([new \stdClass()]);
    $storage_mock->expects($this->at(5))
      ->method('resetCache');

    $entity_type_manager_mock = $this->createMock(EntityTypeManagerInterface::class);
    $entity_type_manager_mock->method('getStorage')
      ->willReturn($storage_mock);

    $loader = new EntityLoader($entity_type_manager_mock);

    foreach ($loader->byIds(3, range(1, 7), 'node') as $node) {};
  }

}

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

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