class EntityContentBaseTest in Drupal 8
Same name in this branch
- 8 core/modules/migrate_drupal/tests/src/Kernel/d6/EntityContentBaseTest.php \Drupal\Tests\migrate_drupal\Kernel\d6\EntityContentBaseTest
- 8 core/modules/migrate/tests/src/Unit/Plugin/migrate/destination/EntityContentBaseTest.php \Drupal\Tests\migrate\Unit\Plugin\migrate\destination\EntityContentBaseTest
Same name and namespace in other branches
- 9 core/modules/migrate/tests/src/Unit/Plugin/migrate/destination/EntityContentBaseTest.php \Drupal\Tests\migrate\Unit\Plugin\migrate\destination\EntityContentBaseTest
Tests base entity migration destination functionality.
@coversDefaultClass \Drupal\migrate\Plugin\migrate\destination\EntityContentBase @group migrate
Hierarchy
- class \Drupal\Tests\UnitTestCase extends \PHPUnit\Framework\TestCase uses PhpunitCompatibilityTrait
- class \Drupal\Tests\migrate\Unit\Plugin\migrate\destination\EntityTestBase
- class \Drupal\Tests\migrate\Unit\Plugin\migrate\destination\EntityContentBaseTest
- class \Drupal\Tests\migrate\Unit\Plugin\migrate\destination\EntityTestBase
Expanded class hierarchy of EntityContentBaseTest
File
- core/
modules/ migrate/ tests/ src/ Unit/ Plugin/ migrate/ destination/ EntityContentBaseTest.php, line 23 - Contains \Drupal\Tests\migrate\Unit\Plugin\migrate\destination\EntityContentBaseTest
Namespace
Drupal\Tests\migrate\Unit\Plugin\migrate\destinationView source
class EntityContentBaseTest extends EntityTestBase {
/**
* Test basic entity save.
*
* @covers ::import
*/
public function testImport() {
$bundles = [];
$destination = new EntityTestDestination([], '', [], $this->migration
->reveal(), $this->storage
->reveal(), $bundles, $this->entityFieldManager
->reveal(), $this
->prophesize(FieldTypePluginManagerInterface::class)
->reveal());
$entity = $this
->prophesize(ContentEntityInterface::class);
$entity
->isValidationRequired()
->shouldBeCalledTimes(1);
// Assert that save is called.
$entity
->save()
->shouldBeCalledTimes(1);
// Set an id for the entity
$entity
->id()
->willReturn(5);
$destination
->setEntity($entity
->reveal());
// Ensure the id is saved entity id is returned from import.
$this
->assertEquals([
5,
], $destination
->import(new Row()));
// Assert that import set the rollback action.
$this
->assertEquals(MigrateIdMapInterface::ROLLBACK_DELETE, $destination
->rollbackAction());
}
/**
* Test row skipping when we can't get an entity to save.
*
* @covers ::import
*/
public function testImportEntityLoadFailure() {
$bundles = [];
$destination = new EntityTestDestination([], '', [], $this->migration
->reveal(), $this->storage
->reveal(), $bundles, $this->entityFieldManager
->reveal(), $this
->prophesize(FieldTypePluginManagerInterface::class)
->reveal());
$destination
->setEntity(FALSE);
$this
->expectException(MigrateException::class);
$this
->expectExceptionMessage('Unable to get entity');
$destination
->import(new Row());
}
/**
* Test that translation destination fails for untranslatable entities.
*/
public function testUntranslatable() {
// An entity type without a language.
$this->entityType
->getKey('langcode')
->willReturn('');
$this->entityType
->getKey('id')
->willReturn('id');
$this->entityFieldManager
->getBaseFieldDefinitions('foo')
->willReturn([
'id' => BaseFieldDefinitionTest::create('integer'),
]);
$destination = new EntityTestDestination([
'translations' => TRUE,
], '', [], $this->migration
->reveal(), $this->storage
->reveal(), [], $this->entityFieldManager
->reveal(), $this
->prophesize(FieldTypePluginManagerInterface::class)
->reveal());
$this
->expectException(MigrateException::class);
$this
->expectExceptionMessage('The "foo" entity type does not support translations.');
$destination
->getIds();
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
EntityContentBaseTest:: |
public | function | Test basic entity save. | |
EntityContentBaseTest:: |
public | function | Test row skipping when we can't get an entity to save. | |
EntityContentBaseTest:: |
public | function | Test that translation destination fails for untranslatable entities. | |
EntityTestBase:: |
protected | property | ||
EntityTestBase:: |
protected | property | ||
EntityTestBase:: |
protected | property | ||
EntityTestBase:: |
protected | property | ||
EntityTestBase:: |
protected | function |
Overrides UnitTestCase:: |
1 |
PhpunitCompatibilityTrait:: |
public | function | Returns a mock object for the specified class using the available method. | |
PhpunitCompatibilityTrait:: |
public | function | Compatibility layer for PHPUnit 6 to support PHPUnit 4 code. | |
UnitTestCase:: |
protected | property | The random generator. | |
UnitTestCase:: |
protected | property | The app root. | 1 |
UnitTestCase:: |
protected | function | Asserts if two arrays are equal by sorting them first. | |
UnitTestCase:: |
protected | function | Mocks a block with a block plugin. | 1 |
UnitTestCase:: |
protected | function | Returns a stub class resolver. | |
UnitTestCase:: |
public | function | Returns a stub config factory that behaves according to the passed array. | |
UnitTestCase:: |
public | function | Returns a stub config storage that returns the supplied configuration. | |
UnitTestCase:: |
protected | function | Sets up a container with a cache tags invalidator. | |
UnitTestCase:: |
protected | function | Gets the random generator for the utility methods. | |
UnitTestCase:: |
public | function | Returns a stub translation manager that just returns the passed string. | |
UnitTestCase:: |
public | function | Generates a unique random string containing letters and numbers. |