annotate core/modules/field/tests/src/Kernel/ConfigFieldDefinitionTest.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents af1871eacc83
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\Tests\field\Kernel;
Chris@0 4
Chris@0 5 use Drupal\Core\Field\FieldDefinitionInterface;
Chris@0 6 use Drupal\Core\Field\FieldStorageDefinitionInterface;
Chris@0 7
Chris@0 8 /**
Chris@0 9 * Tests exposing field definitions for configurable fields.
Chris@0 10 *
Chris@0 11 * @group field
Chris@0 12 */
Chris@0 13 class ConfigFieldDefinitionTest extends FieldKernelTestBase {
Chris@0 14
Chris@0 15 /**
Chris@0 16 * The entity manager service.
Chris@0 17 *
Chris@17 18 * @var \Drupal\Core\Entity\EntityManagerInterface
Chris@0 19 */
Chris@0 20 protected $entityManager;
Chris@0 21
Chris@0 22 /**
Chris@0 23 * @var string
Chris@0 24 */
Chris@0 25 private $entityType;
Chris@0 26
Chris@0 27 /**
Chris@0 28 * @var string
Chris@0 29 */
Chris@0 30 private $bundle;
Chris@0 31
Chris@0 32 /**
Chris@0 33 * {@inheritdoc}
Chris@0 34 */
Chris@0 35 protected function setUp() {
Chris@0 36 parent::setUp();
Chris@0 37
Chris@0 38 // Create a field and a storage of type 'test_field', on the 'entity_test'
Chris@0 39 // entity type.
Chris@0 40 $this->entityType = 'entity_test';
Chris@0 41 $this->bundle = 'entity_test';
Chris@0 42 $this->createFieldWithStorage('', $this->entityType, $this->bundle);
Chris@0 43 $this->entityManager = $this->container->get('entity.manager');
Chris@0 44
Chris@0 45 // Create a second field on 'entity_test_rev'.
Chris@18 46 $this->installEntitySchema('entity_test_rev');
Chris@0 47 $this->createFieldWithStorage('_rev', 'entity_test_rev', 'entity_test_rev');
Chris@0 48 }
Chris@0 49
Chris@0 50 /**
Chris@0 51 * Makes sure a field definition is exposed for a configurable field.
Chris@0 52 */
Chris@0 53 public function testBundleFieldDefinition() {
Chris@0 54 $definitions = $this->entityManager->getFieldDefinitions($this->entityType, $this->bundle);
Chris@0 55 $this->assertTrue(isset($definitions[$this->fieldTestData->field->getName()]));
Chris@0 56 $this->assertTrue($definitions[$this->fieldTestData->field->getName()] instanceof FieldDefinitionInterface);
Chris@0 57 // Make sure fields on other entity types are not exposed.
Chris@0 58 $this->assertFalse(isset($definitions[$this->fieldTestData->field_rev->getName()]));
Chris@0 59 }
Chris@0 60
Chris@0 61 /**
Chris@0 62 * Makes sure a field storage definition is exposed for a configurable field.
Chris@0 63 */
Chris@0 64 public function testFieldStorageDefinition() {
Chris@0 65 $field_storage_definitions = $this->entityManager->getFieldStorageDefinitions($this->entityType);
Chris@0 66 $this->assertTrue(isset($field_storage_definitions[$this->fieldTestData->field->getName()]));
Chris@0 67 $this->assertTrue($field_storage_definitions[$this->fieldTestData->field->getName()] instanceof FieldStorageDefinitionInterface);
Chris@0 68 // Make sure storages on other entity types are not exposed.
Chris@0 69 $this->assertFalse(isset($field_storage_definitions[$this->fieldTestData->field_rev->getName()]));
Chris@0 70 }
Chris@0 71
Chris@0 72 }