class EntityRevisionTest
Tests entity revision destination functionality.
Attributes
#[CoversClass(EntityRevision::class)]
#[Group('migrate')]
Hierarchy
- class \Drupal\Tests\UnitTestCase uses \Drupal\Tests\PhpUnitCompatibilityTrait, \Prophecy\PhpUnit\ProphecyTrait, \Drupal\TestTools\Extension\DeprecationBridge\ExpectDeprecationTrait, \Drupal\Tests\RandomGeneratorTrait extends \PHPUnit\Framework\TestCase
- class \Drupal\Tests\migrate\Unit\Plugin\migrate\destination\EntityTestBase extends \Drupal\Tests\UnitTestCase
- class \Drupal\Tests\migrate\Unit\Plugin\migrate\destination\EntityRevisionTest extends \Drupal\Tests\migrate\Unit\Plugin\migrate\destination\EntityTestBase
- class \Drupal\Tests\migrate\Unit\Plugin\migrate\destination\EntityTestBase extends \Drupal\Tests\UnitTestCase
Expanded class hierarchy of EntityRevisionTest
File
-
core/
modules/ migrate/ tests/ src/ Unit/ Plugin/ migrate/ destination/ EntityRevisionTest.php, line 22
Namespace
Drupal\Tests\migrate\Unit\Plugin\migrate\destinationView source
class EntityRevisionTest extends EntityTestBase {
/**
* {@inheritdoc}
*/
protected function setUp() : void {
parent::setUp();
$this->migration = $this->prophesize(MigrationInterface::class);
$this->storage = $this->prophesize(EntityStorageInterface::class);
$this->entityType = $this->prophesize(EntityTypeInterface::class);
$this->entityType
->getSingularLabel()
->willReturn('foo');
$this->entityType
->getPluralLabel()
->willReturn('bar');
$this->storage
->getEntityType()
->willReturn($this->entityType
->reveal());
$this->storage
->getEntityTypeId()
->willReturn('foo');
}
/**
* Tests entities that do not support revisions.
*/
public function testNoRevisionSupport() : void {
$this->entityType
->getKey('id')
->willReturn('id');
$this->entityType
->getKey('revision')
->willReturn('');
$this->entityFieldManager
->getBaseFieldDefinitions('foo')
->willReturn([
'id' => BaseFieldDefinitionTest::create('integer'),
]);
$destination = new EntityRevisionTestDestination([], '', [], $this->migration
->reveal(), $this->storage
->reveal(), [], $this->entityFieldManager
->reveal(), $this->prophesize(FieldTypePluginManagerInterface::class)
->reveal(), $this->prophesize(AccountSwitcherInterface::class)
->reveal(), $this->prophesize(EntityTypeBundleInfoInterface::class)
->reveal());
$this->expectException(MigrateException::class);
$this->expectExceptionMessage('The "foo" entity type does not support revisions.');
$destination->getIds();
}
/**
* Tests that translation destination fails for untranslatable entities.
*/
public function testUntranslatable() : void {
$this->entityType
->getKey('id')
->willReturn('id');
$this->entityType
->getKey('revision')
->willReturn('vid');
$this->entityType
->getKey('langcode')
->willReturn('');
$this->entityFieldManager
->getBaseFieldDefinitions('foo')
->willReturn([
'id' => BaseFieldDefinitionTest::create('integer'),
'vid' => BaseFieldDefinitionTest::create('integer'),
]);
$destination = new EntityRevisionTestDestination([
'translations' => TRUE,
], '', [], $this->migration
->reveal(), $this->storage
->reveal(), [], $this->entityFieldManager
->reveal(), $this->prophesize(FieldTypePluginManagerInterface::class)
->reveal(), $this->prophesize(AccountSwitcherInterface::class)
->reveal(), $this->prophesize(EntityTypeBundleInfoInterface::class)
->reveal());
$this->expectException(MigrateException::class);
$this->expectExceptionMessage('The "foo" entity type does not support translations.');
$destination->getIds();
}
}
Members
| Title Sort descending | Modifiers | Object type | Summary | Overriden Title |
|---|---|---|---|---|
| EntityRevisionTest::setUp | protected | function | Overrides EntityTestBase::setUp | |
| EntityRevisionTest::testNoRevisionSupport | public | function | Tests entities that do not support revisions. | |
| EntityRevisionTest::testUntranslatable | public | function | Tests that translation destination fails for untranslatable entities. | |
| EntityTestBase::$entityFieldManager | protected | property | The entity field manager service. | |
| EntityTestBase::$entityType | protected | property | The entity type manager. | |
| EntityTestBase::$migration | protected | property | The migration entity. | |
| EntityTestBase::$storage | protected | property | The entity storage. | |
| ExpectDeprecationTrait::expectDeprecation | public | function | Adds an expected deprecation. | |
| ExpectDeprecationTrait::setUpErrorHandler | public | function | Sets up the test error handler. | |
| ExpectDeprecationTrait::tearDownErrorHandler | public | function | Tears down the test error handler. | |
| RandomGeneratorTrait::getRandomGenerator | protected | function | Gets the random generator for the utility methods. | |
| RandomGeneratorTrait::randomMachineName | protected | function | Generates a unique random string containing letters and numbers. | |
| RandomGeneratorTrait::randomObject | public | function | Generates a random PHP object. | |
| RandomGeneratorTrait::randomString | public | function | Generates a pseudo-random string of ASCII characters of codes 32 to 126. | |
| UnitTestCase::$root | protected | property | The app root. | |
| UnitTestCase::getClassResolverStub | protected | function | Returns a stub class resolver. | |
| UnitTestCase::getConfigFactoryStub | public | function | Returns a stub config factory that behaves according to the passed array. | |
| UnitTestCase::getContainerWithCacheTagsInvalidator | protected | function | Sets up a container with a cache tags invalidator. | |
| UnitTestCase::getStringTranslationStub | public | function | Returns a stub translation manager that just returns the passed string. | |
| UnitTestCase::setDebugDumpHandler | public static | function | Registers the dumper CLI handler when the DebugDump extension is enabled. | |
| UnitTestCase::setupMockIterator | protected | function | Set up a traversable class mock to return specific items when iterated. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.