public function SqlContentEntityStorageSchemaTest::providerTestRequiresEntityStorageSchemaChanges in Drupal 8
Data provider for ::testRequiresEntityStorageSchemaChanges().
File
- core/
tests/ Drupal/ Tests/ Core/ Entity/ Sql/ SqlContentEntityStorageSchemaTest.php, line 1240
Class
- SqlContentEntityStorageSchemaTest
- @coversDefaultClass \Drupal\Core\Entity\Sql\SqlContentEntityStorageSchema @group Entity
Namespace
Drupal\Tests\Core\Entity\SqlCode
public function providerTestRequiresEntityStorageSchemaChanges() {
$cases = [];
$updated_entity_type_definition = $this
->createMock('\\Drupal\\Core\\Entity\\ContentEntityTypeInterface');
$original_entity_type_definition = $this
->createMock('\\Drupal\\Core\\Entity\\ContentEntityTypeInterface');
$updated_entity_type_definition
->expects($this
->any())
->method('id')
->willReturn('entity_test');
$updated_entity_type_definition
->expects($this
->any())
->method('getKey')
->willReturn('id');
$original_entity_type_definition
->expects($this
->any())
->method('id')
->willReturn('entity_test');
$original_entity_type_definition
->expects($this
->any())
->method('getKey')
->willReturn('id');
// Storage class changes should not impact this at all, and should not be
// checked.
$updated = clone $updated_entity_type_definition;
$original = clone $original_entity_type_definition;
$updated
->expects($this
->never())
->method('getStorageClass');
$original
->expects($this
->never())
->method('getStorageClass');
// Case 1: No shared table changes should not require change.
$cases[] = [
$updated,
$original,
FALSE,
FALSE,
FALSE,
];
// Case 2: A change in the entity schema should result in required changes.
$cases[] = [
$updated,
$original,
TRUE,
TRUE,
FALSE,
];
// Case 3: Has shared table changes should result in required changes.
$cases[] = [
$updated,
$original,
TRUE,
FALSE,
TRUE,
];
// Case 4: Changing translation should result in required changes.
$updated = clone $updated_entity_type_definition;
$updated
->expects($this
->once())
->method('isTranslatable')
->willReturn(FALSE);
$original = clone $original_entity_type_definition;
$original
->expects($this
->once())
->method('isTranslatable')
->willReturn(TRUE);
$cases[] = [
$updated,
$original,
TRUE,
FALSE,
FALSE,
];
// Case 5: Changing revisionable should result in required changes.
$updated = clone $updated_entity_type_definition;
$updated
->expects($this
->once())
->method('isRevisionable')
->willReturn(FALSE);
$original = clone $original_entity_type_definition;
$original
->expects($this
->once())
->method('isRevisionable')
->willReturn(TRUE);
$cases[] = [
$updated,
$original,
TRUE,
FALSE,
FALSE,
];
return $cases;
}