View source
<?php
namespace Drupal\Tests\acquia_contenthub\Functional;
use Drupal\Component\Serialization\Json;
use Drupal\Core\StringTranslation\StringTranslationTrait;
class MediaEntityImageTest extends ContentHubTestBase {
use StringTranslationTrait;
protected $adminRole;
protected $adminUserPermissions = [
'administer acquia content hub',
'access administration pages',
'view media',
'create media',
'update media',
'update any media',
'delete media',
'delete any media',
'access media overview',
];
public static $modules = [
'acquia_contenthub',
'user',
'entity',
'media_entity',
'entity_browser',
'media_entity_image',
'media_entity_image_ch',
];
public function setUp() : void {
parent::setUp();
$this->adminRole = $this
->createAdminRole('administrator', 'Administrator');
$this->adminUser = $this
->drupalCreateUser($this->adminUserPermissions);
}
public function testMediaEntityImage() {
$this
->drupalLogin($this->adminUser);
$this
->drupalGet('media/add/image');
$this
->assertResponse(200);
$edit = [
'name[0][value]' => 'Media Test',
];
$this
->drupalPostForm(NULL, $edit, $this
->t('Save and publish'));
$this
->configureContentHubContentTypes('media', [
'image',
]);
$this
->setRoleFor($this->adminRole);
$output = $this
->drupalGetCdf('acquia-contenthub-cdf/media/1', [
'query' => [
'include_references' => 'true',
],
]);
$this
->assertResponse(200);
$this
->assertEqual($output['entities']['0']['attributes']['bundle']['type'], 'array<string>');
$this
->assertEqual($output['entities']['0']['attributes']['bundle']['value']['en'][0], 'image');
$this
->assertEqual($output['entities']['0']['attributes']['name']['value']['en'][0], 'Media Test');
$this
->assertNotNull($output['entities']['0']['assets'][0]['url']);
$this
->assertNotNull($output['entities']['0']['assets'][0]['replace-token']);
$thumbnail = $output['entities']['0']['attributes']['thumbnail']['value']['en'][0];
$thumbnail = Json::decode($thumbnail);
$this
->assertEqual($thumbnail['title'], 'Media Test');
}
}