multiversion-8.x-1.0-beta34/tests/src/Functional/FieldTestBase.php
tests/src/Functional/FieldTestBase.php
<?php namespace Drupal\Tests\multiversion\Functional; abstract class FieldTestBase extends MultiversionFunctionalTestBase { /** * The entity types to test. * * @var array */ protected $entityTypes = [ 'entity_test' => [], 'entity_test_rev' => [], 'entity_test_mul' => [], 'entity_test_mulrev' => [], 'node' =>[ 'type' => 'article', 'title' => 'New article', ], 'taxonomy_term' => [ 'name' => 'A term', 'vid' => 123, ], 'comment' => [ 'entity_type' => 'node', 'field_name' => 'comment', 'subject' => 'How much wood would a woodchuck chuck', 'mail' => 'someone@example.com', ], 'block_content' => [ 'info' => 'New block', 'type' => 'basic', ], 'menu_link_content' => [ 'menu_name' => 'menu_test', 'bundle' => 'menu_link_content', 'link' => [['uri' => 'user-path:/']], ], 'shortcut' => [ 'shortcut_set' => 'default', 'title' => 'Llama', 'weight' => 0, 'link' => [['uri' => 'internal:/admin']], ], 'file' => [ 'uid' => 1, 'filename' => 'druplicon.txt', 'uri' => 'public://druplicon.txt', 'filemime' => 'text/plain', 'status' => 1, ], ]; /** * @var string */ protected $fieldName; /** * @var mixed */ protected $defaultValue; /** * @var string */ protected $itemListClass = '\Drupal\Core\Field\FieldItemList'; /** * @var bool */ protected $createdEmpty = TRUE; /** * @var string */ protected $itemClass; /** * {@inheritdoc} */ protected function setUp() { parent::setUp(); file_put_contents($this->entityTypes['file']['uri'], 'Hello world!'); $this->assertTrue($this->entityTypes['file']['uri'], t('The test file has been created.')); } public function testFieldBasics() { foreach ($this->entityTypes as $entity_type_id => $info) { $storage = $this->entityTypeManager->getStorage($entity_type_id); $entity = $storage->create($info); $this->assertTrue(is_a($entity->{$this->fieldName}, $this->itemListClass), "Field item list implements correct interface on created $entity_type_id."); $count = $entity->{$this->fieldName}->count(); $this->assertTrue($this->createdEmpty ? empty($count) : !empty($count), "Field is created with no field items for $entity_type_id."); $entity->save(); $entity_id = $entity->id(); $entity = $storage->load($entity_id); $this->assertFalse($entity->{$this->fieldName}->isEmpty(), "Field was attached on loaded $entity_type_id."); $storage->loadMultiple([$entity_id]); $entity = $storage->loadDeleted($entity_id); $this->assertFalse($entity->{$this->fieldName}->isEmpty(), "Field was attached on deleted $entity_type_id."); } } }