BlockContentUpdateTest.php in Drupal 8
File
core/modules/block_content/tests/src/Functional/Update/BlockContentUpdateTest.php
View source
<?php
namespace Drupal\Tests\block_content\Functional\Update;
use Drupal\Core\Field\BaseFieldDefinition;
use Drupal\FunctionalTests\Update\UpdatePathTestBase;
class BlockContentUpdateTest extends UpdatePathTestBase {
protected function setDatabaseDumpFiles() {
$this->databaseDumpFiles = [
__DIR__ . '/../../../../../system/tests/fixtures/update/drupal-8.bare.standard.php.gz',
];
}
public function testSimpleUpdates() {
$entity_definition_update_manager = \Drupal::entityDefinitionUpdateManager();
$entity_type = $entity_definition_update_manager
->getEntityType('block_content');
$this
->assertNull($entity_type
->getRevisionDataTable());
$this
->runUpdates();
$post_revision_created = $entity_definition_update_manager
->getFieldStorageDefinition('revision_created', 'block_content');
$post_revision_user = $entity_definition_update_manager
->getFieldStorageDefinition('revision_user', 'block_content');
$this
->assertInstanceOf(BaseFieldDefinition::class, $post_revision_created);
$this
->assertInstanceOf(BaseFieldDefinition::class, $post_revision_user);
$this
->assertEqual('created', $post_revision_created
->getType(), "Field is type created");
$this
->assertEqual('entity_reference', $post_revision_user
->getType(), "Field is type entity_reference");
$entity_type = $entity_definition_update_manager
->getEntityType('block_content');
$this
->assertEqual('block_content_field_revision', $entity_type
->getRevisionDataTable());
}
public function testStatusFieldAddition() {
$schema = \Drupal::database()
->schema();
$entity_definition_update_manager = \Drupal::entityDefinitionUpdateManager();
$this
->runUpdates();
$updated_field = $entity_definition_update_manager
->getFieldStorageDefinition('status', 'block_content');
$this
->assertEqual('Publishing status', $updated_field
->getLabel());
$content_translation_status = $entity_definition_update_manager
->getFieldStorageDefinition('content_translation_status', 'block_content');
$this
->assertNull($content_translation_status);
$this
->assertFalse($schema
->fieldExists('block_content_field_revision', 'content_translation_status'));
$this
->assertFalse($schema
->fieldExists('block_content_field_data', 'content_translation_status'));
}
}