private function ContentHubEntityTrait::createMultilanguageContentHubEntity in Acquia Content Hub 8
Creates a Multilanguage Content Hub Entity for testing purposes.
Parameters
array $values: An array of values.
Return value
\Acquia\ContentHubClient\Entity A Content Hub Entity fully loaded.
Throws
\Exception
2 calls to ContentHubEntityTrait::createMultilanguageContentHubEntity()
- ImportEntityManagerTest::testImportRemoteEntitySiteLanguagesDoesNotMatchEntityLanguages in tests/
src/ Unit/ ImportEntityManagerTest.php - Tests the importRemoteEntity() method.
- ImportEntityManagerTest::testVerifyLanguageSupportability in tests/
src/ Unit/ ImportEntityManagerTest.php - Verifies Language Supportabilitites.
File
- tests/
src/ Unit/ ContentHubEntityTrait.php, line 97
Class
- ContentHubEntityTrait
- Defines a Trait for creating a Content Hub Entity.
Namespace
Drupal\Tests\acquia_contenthub\UnitCode
private function createMultilanguageContentHubEntity(array $values = []) {
// Defining a default entity.
$values = $values + [
'uuid' => '00000000-1111-0000-0000-000000000000',
'type' => 'node',
'origin' => '00000000-0000-0000-0000-000000000000',
'created' => '2017-12-21T20:12:11+00:00Z',
'modified' => '2014-12-21T20:12:11+00:00Z',
'attributes' => [
'type' => [
'type' => 'string',
'value' => [
'en' => 'article',
'es' => 'articulo',
],
],
'langcode' => [
'type' => 'string',
'value' => [
'en' => 'en',
'es' => 'es',
],
],
'default_langcode' => [
'type' => 'array<boolean>',
'value' => [
'en' => [
0 => 1,
],
'es' => [
0 => 0,
],
],
],
'title' => [
'type' => 'string',
'value' => [
'en' => 'Title Test',
'es' => 'Titulo de Prueba',
],
],
'url' => [
'type' => 'string',
'value' => [
'en' => 'http://localhost/test/node/1',
],
],
],
'assets' => [],
];
// Creating a Content Hub Entity.
$entity = new Entity();
$entity
->setUuid($values['uuid']);
$entity
->setType($values['type']);
$entity
->setOrigin($values['origin']);
$entity
->setCreated($values['created']);
$entity
->setModified($values['modified']);
// Adding Attributes.
foreach ($values['attributes'] as $name => $attr) {
$attribute = new Attribute($attr['type']);
$attribute
->setValues($attr['value']);
$entity
->setAttribute($name, $attribute);
}
// Adding Assets.
foreach ($values['assets'] as $myasset) {
$asset = new Asset();
$asset
->setUrl($myasset['url']);
$asset
->setReplaceToken($myasset['replace-token']);
$entity
->addAsset($asset);
}
return $entity;
}