PreviewTest.php in Embed 8
Namespace
Drupal\Tests\embed\FunctionalFile
tests/src/Functional/PreviewTest.phpView source
<?php
namespace Drupal\Tests\embed\Functional;
/**
* Tests the preview controller and route.
*
* @group embed
*/
class PreviewTest extends EmbedTestBase {
const SUCCESS = 'Success!';
/**
* {@inheritdoc}
*/
protected $defaultTheme = 'stark';
/**
* Tests the route used for generating preview of embedding entities.
*/
public function testPreviewRoute() {
// Ensure the default filter can be previewed by the anonymous user.
$this
->getRoute('plain_text');
$this
->assertResponse(200);
$this
->assertText(static::SUCCESS);
// The anonymous user should not have permission to use embed_test format.
$this
->getRoute('embed_test');
$this
->assertResponse(403);
// Now login a user that can use the embed_test format.
$this
->drupalLogin($this->webUser);
$this
->getRoute('plain_text');
$this
->assertResponse(200);
$this
->assertText(static::SUCCESS);
$this
->getRoute('embed_test');
$this
->assertResponse(200);
$this
->assertText(static::SUCCESS);
// Test preview route with an empty request.
$this
->getRoute('embed_test', '');
$this
->assertResponse(404);
// Test preview route with an invalid text format.
$this
->getRoute('invalid_format');
$this
->assertResponse(404);
}
/**
* Performs a request to the embed.preview route.
*
* @param string $filter_format_id
* ID of the filter format.
* @param string $value
* The query string value to include.
*
* @return string
* The retrieved HTML string.
*/
public function getRoute($filter_format_id, $value = NULL) {
$url = 'embed/preview/' . $filter_format_id;
if (!isset($value)) {
$value = static::SUCCESS;
}
return $this
->drupalGet($url, [
'query' => [
'text' => $value,
],
]);
}
}
Classes
Name | Description |
---|---|
PreviewTest | Tests the preview controller and route. |