class EntityFinderTest in Feeds 8.3
@coversDefaultClass \Drupal\feeds\EntityFinder @group feeds
Hierarchy
- class \Drupal\Tests\UnitTestCase extends \PHPUnit\Framework\TestCase uses PhpunitCompatibilityTrait
- class \Drupal\Tests\feeds\Unit\FeedsUnitTestCase uses FeedsMockingTrait, FeedsReflectionTrait
- class \Drupal\Tests\feeds\Unit\EntityFinderTest
- class \Drupal\Tests\feeds\Unit\FeedsUnitTestCase uses FeedsMockingTrait, FeedsReflectionTrait
Expanded class hierarchy of EntityFinderTest
File
- tests/
src/ Unit/ EntityFinderTest.php, line 17
Namespace
Drupal\Tests\feeds\UnitView source
class EntityFinderTest extends FeedsUnitTestCase {
/**
* The entity type manager prophecy used in the test.
*
* @var \Prophecy\Prophecy\ProphecyInterface|\Drupal\Core\Entity\EntityTypeManagerInterface
*/
protected $entityTypeManager;
/**
* The entity storage prophecy used in the test.
*
* @var \Prophecy\Prophecy\ProphecyInterface|\Drupal\Core\Entity\EntityStorageInterface
*/
protected $entityStorage;
/**
* Entity repository used in the test.
*
* @var \Prophecy\Prophecy\ProphecyInterface|\Drupal\Core\Entity\EntityRepositoryInterface
*/
protected $entityRepository;
/**
* {@inheritdoc}
*/
public function setUp() {
parent::setUp();
// Entity type manager.
$this->entityTypeManager = $this
->prophesize(EntityTypeManagerInterface::class);
// Entity storage (needed for entity queries).
$this->entityStorage = $this
->prophesize(EntityStorageInterface::class);
$this->entityTypeManager
->getStorage('foo')
->willReturn($this->entityStorage);
// Entity repository.
$this->entityRepository = $this
->prophesize(EntityRepositoryInterface::class);
}
/**
* Creates an entity finder instance.
*
* @return \Drupal\feeds\EntityFinder
* The entity finder instance to test with.
*/
protected function createEntityFinderInstance() {
return new EntityFinder($this->entityTypeManager
->reveal(), $this->entityRepository
->reveal());
}
/**
* @covers ::findEntities
*/
public function testFindEntities() {
// Entity query.
$entity_query = $this
->prophesize(QueryInterface::class);
$entity_query
->range(0, 1)
->willReturn($entity_query);
$entity_query
->condition('field_ref', 1)
->willReturn($entity_query);
$entity_query
->execute()
->willReturn([
12,
]);
$this->entityStorage
->getQuery()
->willReturn($entity_query)
->shouldBeCalled();
$entity_ids = $this
->createEntityFinderInstance()
->findEntities('foo', 'field_ref', 1);
$this
->assertEquals([
12,
], $entity_ids);
}
/**
* @covers ::findEntities
*/
public function testFindEntitiesNotFound() {
// Entity query.
$entity_query = $this
->prophesize(QueryInterface::class);
$entity_query
->range(0, 1)
->willReturn($entity_query);
$entity_query
->condition('field_ref', 1)
->willReturn($entity_query);
$entity_query
->execute()
->willReturn([]);
$this->entityStorage
->getQuery()
->willReturn($entity_query)
->shouldBeCalled();
$entity_ids = $this
->createEntityFinderInstance()
->findEntities('foo', 'field_ref', 1);
$this
->assertEquals([], $entity_ids);
}
/**
* @covers ::findEntities
*/
public function testFindMultipleEntities() {
// Entity query.
$entity_query = $this
->prophesize(QueryInterface::class);
$entity_query
->range(0, 1)
->shouldNotBeCalled();
$entity_query
->condition('field_ref', 1)
->willReturn($entity_query);
$entity_query
->execute()
->willReturn([
12,
13,
14,
]);
$this->entityStorage
->getQuery()
->willReturn($entity_query)
->shouldBeCalled();
$entity_ids = $this
->createEntityFinderInstance()
->findEntities('foo', 'field_ref', 1, [], TRUE);
$this
->assertEquals([
12,
13,
14,
], $entity_ids);
}
/**
* @covers ::findEntities
* @covers ::getBundleKey
*/
public function testFindEntitiesWithBundleRestriction() {
$entity_type = $this
->prophesize(EntityTypeInterface::class);
$entity_type
->getKey('bundle')
->willReturn('type')
->shouldBeCalled();
$this->entityTypeManager
->getDefinition('foo')
->willReturn($entity_type
->reveal())
->shouldBeCalled();
// Entity query.
$entity_query = $this
->prophesize(QueryInterface::class);
$entity_query
->condition('type', [
'qux',
], 'IN')
->willReturn($entity_query);
$entity_query
->range(0, 1)
->willReturn($entity_query);
$entity_query
->condition('field_ref', 1)
->willReturn($entity_query);
$entity_query
->execute()
->willReturn([
16,
]);
$this->entityStorage
->getQuery()
->willReturn($entity_query)
->shouldBeCalled();
$entity_ids = $this
->createEntityFinderInstance()
->findEntities('foo', 'field_ref', 1, [
'qux',
]);
$this
->assertEquals([
16,
], $entity_ids);
}
/**
* @covers ::findEntities
*/
public function testFindEntitiesByUuid() {
$entity = $this
->prophesize(ContentEntityInterface::class);
$entity
->id()
->willReturn(17);
$this->entityRepository
->loadEntityByUuid('foo', '31835cb0-7302-403b-92ab-c228547d13fc')
->willReturn($entity);
$entity_ids = $this
->createEntityFinderInstance()
->findEntities('foo', 'uuid', '31835cb0-7302-403b-92ab-c228547d13fc');
$this
->assertEquals([
17,
], $entity_ids);
}
/**
* @covers ::findEntities
*/
public function testFindEntitiesByUuidNotFound() {
$this->entityRepository
->loadEntityByUuid('foo', '31835cb0-7302-403b-92ab-c228547d13fc')
->willReturn(NULL);
$entity_ids = $this
->createEntityFinderInstance()
->findEntities('foo', 'uuid', '31835cb0-7302-403b-92ab-c228547d13fc');
$this
->assertEquals([], $entity_ids);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
EntityFinderTest:: |
protected | property | Entity repository used in the test. | |
EntityFinderTest:: |
protected | property | The entity storage prophecy used in the test. | |
EntityFinderTest:: |
protected | property | The entity type manager prophecy used in the test. | |
EntityFinderTest:: |
protected | function | Creates an entity finder instance. | |
EntityFinderTest:: |
public | function |
Overrides FeedsUnitTestCase:: |
|
EntityFinderTest:: |
public | function | @covers ::findEntities | |
EntityFinderTest:: |
public | function | @covers ::findEntities | |
EntityFinderTest:: |
public | function | @covers ::findEntities | |
EntityFinderTest:: |
public | function | @covers ::findEntities | |
EntityFinderTest:: |
public | function | @covers ::findEntities @covers ::getBundleKey | |
EntityFinderTest:: |
public | function | @covers ::findEntities | |
FeedsMockingTrait:: |
protected | function | Mocks an account object. | |
FeedsMockingTrait:: |
protected | function | Returns a mocked AccountSwitcher object. | |
FeedsMockingTrait:: |
protected | function | Returns a mocked feed entity. | |
FeedsMockingTrait:: |
protected | function | Returns a mocked feed type entity. | |
FeedsMockingTrait:: |
protected | function | Mocks a field definition. | 1 |
FeedsMockingTrait:: |
protected | function | Mocks the file system. | |
FeedsReflectionTrait:: |
protected | function | Calls a protected method on the given object. | |
FeedsReflectionTrait:: |
protected | function | Gets a ReflectionMethod for a class method. | |
FeedsReflectionTrait:: |
protected | function | Returns a dynamically created closure for the object's method. | |
FeedsReflectionTrait:: |
protected | function | Sets a protected property. | |
FeedsUnitTestCase:: |
protected | function | Returns the absolute directory path of the Feeds module. | |
FeedsUnitTestCase:: |
protected | function | Defines stub constants. | |
FeedsUnitTestCase:: |
protected | function | Returns a mock stream wrapper manager. | |
FeedsUnitTestCase:: |
protected | function | Returns the absolute directory path of the resources folder. | |
PhpunitCompatibilityTrait:: |
public | function | Returns a mock object for the specified class using the available method. | |
PhpunitCompatibilityTrait:: |
public | function | Compatibility layer for PHPUnit 6 to support PHPUnit 4 code. | |
UnitTestCase:: |
protected | property | The random generator. | |
UnitTestCase:: |
protected | property | The app root. | 1 |
UnitTestCase:: |
protected | function | Asserts if two arrays are equal by sorting them first. | |
UnitTestCase:: |
protected | function | Mocks a block with a block plugin. | 1 |
UnitTestCase:: |
protected | function | Returns a stub class resolver. | |
UnitTestCase:: |
public | function | Returns a stub config factory that behaves according to the passed array. | |
UnitTestCase:: |
public | function | Returns a stub config storage that returns the supplied configuration. | |
UnitTestCase:: |
protected | function | Sets up a container with a cache tags invalidator. | |
UnitTestCase:: |
protected | function | Gets the random generator for the utility methods. | |
UnitTestCase:: |
public | function | Returns a stub translation manager that just returns the passed string. | |
UnitTestCase:: |
public | function | Generates a unique random string containing letters and numbers. |