3 namespace Drupal\Tests\block_content\Functional\Update;
5 use Drupal\Core\Field\BaseFieldDefinition;
6 use Drupal\FunctionalTests\Update\UpdatePathTestBase;
9 * Tests update functions for the Block Content module.
14 class BlockContentUpdateTest extends UpdatePathTestBase {
19 protected function setDatabaseDumpFiles() {
20 $this->databaseDumpFiles = [
21 __DIR__ . '/../../../../../system/tests/fixtures/update/drupal-8.bare.standard.php.gz',
26 * Tests the revision metadata fields and revision data table additions.
28 public function testSimpleUpdates() {
29 $entity_definition_update_manager = \Drupal::entityDefinitionUpdateManager();
30 $entity_type = $entity_definition_update_manager->getEntityType('block_content');
31 $this->assertNull($entity_type->getRevisionDataTable());
35 $post_revision_created = $entity_definition_update_manager->getFieldStorageDefinition('revision_created', 'block_content');
36 $post_revision_user = $entity_definition_update_manager->getFieldStorageDefinition('revision_user', 'block_content');
37 $this->assertTrue($post_revision_created instanceof BaseFieldDefinition, "Revision created field found");
38 $this->assertTrue($post_revision_user instanceof BaseFieldDefinition, "Revision user field found");
40 $this->assertEqual('created', $post_revision_created->getType(), "Field is type created");
41 $this->assertEqual('entity_reference', $post_revision_user->getType(), "Field is type entity_reference");
43 $entity_type = $entity_definition_update_manager->getEntityType('block_content');
44 $this->assertEqual('block_content_field_revision', $entity_type->getRevisionDataTable());
48 * Tests adding a status field to the block content entity type.
50 * @see block_content_update_8400()
52 public function testStatusFieldAddition() {
53 $schema = \Drupal::database()->schema();
54 $entity_definition_update_manager = \Drupal::entityDefinitionUpdateManager();
59 // Check that the field exists and has the correct label.
60 $updated_field = $entity_definition_update_manager->getFieldStorageDefinition('status', 'block_content');
61 $this->assertEqual('Publishing status', $updated_field->getLabel());
63 $content_translation_status = $entity_definition_update_manager->getFieldStorageDefinition('content_translation_status', 'block_content');
64 $this->assertNull($content_translation_status);
66 $this->assertFalse($schema->fieldExists('block_content_field_revision', 'content_translation_status'));
67 $this->assertFalse($schema->fieldExists('block_content_field_data', 'content_translation_status'));