PagePlaceholderTest.php in Page Manager 8.4
File
tests/src/Functional/PagePlaceholderTest.php
View source
<?php
namespace Drupal\Tests\page_manager\Functional;
use Drupal\page_manager\Entity\Page;
use Drupal\page_manager\Entity\PageVariant;
use Drupal\Tests\BrowserTestBase;
class PagePlaceholderTest extends BrowserTestBase {
use PageTestHelperTrait;
protected $defaultTheme = 'stark';
public static $modules = [
'page_manager',
'page_manager_test',
];
protected function setUp() {
parent::setUp();
$this
->drupalLogin($this
->drupalCreateUser([
'administer pages',
]));
}
public function testPagePlaceHolder() {
$page_string = 'test-page';
$this
->drupalGet('page-manager-test/' . $page_string);
$this
->assertResponse(200);
$this
->assertCacheTag('page_manager_route_name:page_manager_test.page_view');
$this
->assertText('Hello World! Page ' . $page_string);
$page = Page::create([
'label' => 'Placeholder test',
'id' => 'placeholder',
'path' => '/page-manager-test/%',
]);
$page
->save();
$http_status_variant = PageVariant::create([
'label' => 'HTTP status code',
'id' => 'http_status_code',
'page' => 'placeholder',
]);
$http_status_variant
->setVariantPluginId('http_status_code');
$http_status_variant
->getVariantPlugin()
->setConfiguration([
'status_code' => 200,
]);
$http_status_variant
->save();
$this
->triggerRouterRebuild();
$this
->drupalGet('page-manager-test/' . $page_string);
$this
->assertResponse(200);
$this
->assertCacheTag('page_manager_route_name:page_manager_test.page_view');
$this
->assertNoText('Hello World! Page ' . $page_string);
}
}