function MediaFilterControllerTest::testPreview
Same name and namespace in other branches
- 11.x core/modules/media/tests/src/Kernel/MediaFilterControllerTest.php \Drupal\Tests\media\Kernel\MediaFilterControllerTest::testPreview()
Tests that media access is validated on media filter preview request.
File
-
core/
modules/ media/ tests/ src/ Kernel/ MediaFilterControllerTest.php, line 55
Class
- MediaFilterControllerTest
- Tests that media preview route follows the media's access control.
Namespace
Drupal\Tests\media\KernelCode
public function testPreview() : void {
$text = $this->createEmbedCode([
'data-entity-type' => 'media',
'data-entity-uuid' => static::EMBEDDED_ENTITY_UUID,
]);
$url = Url::fromRoute('media.filter.preview', [
'filter_format' => $this->filterFormat
->id(),
], [
'query' => [
'text' => $text,
'uuid' => static::EMBEDDED_ENTITY_UUID,
],
]);
$output = $this->drupalGet($url, [], [
'X-Drupal-MediaPreview-CSRF-Token' => 'placeholder-token',
]);
$session = $this->getSession();
$this->assertSame(Response::HTTP_OK, $session->getStatusCode());
$this->assertStringNotContainsString('<drupal-media', $output);
$media = \Drupal::service('entity.repository')->loadEntityByUuid('media', static::EMBEDDED_ENTITY_UUID);
$this->assertFalse($media->access('view label', \Drupal::currentUser()));
self::assertSame(\sprintf('Media %s', $media->id()), $session->getResponseHeader('Drupal-Media-Label'));
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.