class EntityFinderTest in UI Patterns 8
Test entity finder utility.
@group ui_patterns
Hierarchy
- class \Drupal\Tests\UnitTestCase extends \PHPUnit\Framework\TestCase uses PhpunitCompatibilityTrait
- class \Drupal\Tests\ui_patterns_field_group\Unit\EntityFinderTest
Expanded class hierarchy of EntityFinderTest
File
- modules/
ui_patterns_field_group/ tests/ src/ Unit/ EntityFinderTest.php, line 14
Namespace
Drupal\Tests\ui_patterns_field_group\UnitView source
class EntityFinderTest extends UnitTestCase {
/**
* Test find entity from fields.
*
* @dataProvider fieldsDataProvider
*/
public function testFindEntityFromFields($fields, $expected) {
$finder = new EntityFinder();
$entity = $finder
->findEntityFromFields($fields);
$this
->assertEquals($expected, $entity);
}
/**
* Test data provider.
*
* @return array
* Test data.
*/
public function fieldsDataProvider() {
$good = $this
->getMockBuilder(ContentEntityBase::class)
->disableOriginalConstructor()
->getMock();
$bad = new \stdClass();
return [
// Found with singe value per field.
[
'fields' => [
'foo' => [
'#object' => $good,
],
'bar' => [
'#object' => $bad,
],
],
'expected' => $good,
],
// Found with singe value per field.
[
'fields' => [
'bar' => [
'#object' => $bad,
],
'foo' => [
'#object' => $good,
],
],
'expected' => $good,
],
// Found with multiple values per field.
[
'fields' => [
'foo' => [
[
'#object' => $good,
],
],
'bar' => [
[
'#object' => $bad,
],
],
],
'expected' => $good,
],
// Found with multiple values per field.
[
'fields' => [
'bar' => [
[
'#object' => $bad,
],
[
'#object' => $good,
],
],
'foo' => [
[
'#object' => $bad,
],
[
'#object' => $bad,
],
],
],
'expected' => $good,
],
// Found with one empty array field and multiple values per field.
[
'fields' => [
'foo' => [
[],
[
'#object' => $good,
],
],
],
'expected' => $good,
],
// Found with one empty null field and multiple values per field.
[
'fields' => [
'foo' => [
NULL,
[
'#object' => $good,
],
],
],
'expected' => $good,
],
// Not found with one empty null field and multiple values per field.
[
'fields' => [
'foo' => [
NULL,
[
'#object' => $bad,
],
],
],
'expected' => NULL,
],
];
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
EntityFinderTest:: |
public | function | Test data provider. | |
EntityFinderTest:: |
public | function | Test find entity from fields. | |
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. | |
UnitTestCase:: |
protected | function | 340 |