public function UpdatePathTestBaseTest::testPathAliasProcessing in Drupal 9
Same name and namespace in other branches
- 8 core/tests/Drupal/FunctionalTests/Update/UpdatePathTestBaseTest.php \Drupal\FunctionalTests\Update\UpdatePathTestBaseTest::testPathAliasProcessing()
Tests that path aliases are not processed during database updates.
File
- core/
tests/ Drupal/ FunctionalTests/ Update/ UpdatePathTestBaseTest.php, line 118
Class
- UpdatePathTestBaseTest
- Tests the update path base class.
Namespace
Drupal\FunctionalTests\UpdateCode
public function testPathAliasProcessing() {
// Add a path alias for the '/admin' system path.
$values = [
'path' => '/admin/structure',
'alias' => '/admin-structure-alias',
'langcode' => 'und',
'status' => 1,
];
$database = \Drupal::database();
$id = $database
->insert('path_alias')
->fields($values + [
'uuid' => \Drupal::service('uuid')
->generate(),
])
->execute();
$revision_id = $database
->insert('path_alias_revision')
->fields($values + [
'id' => $id,
'revision_default' => 1,
])
->execute();
$database
->update('path_alias')
->fields([
'revision_id' => $revision_id,
])
->condition('id', $id)
->execute();
// Increment the schema version.
\Drupal::state()
->set('update_test_schema_version', 8002);
$this
->runUpdates();
// Check that the alias defined earlier is not used during the update
// process.
$this
->assertSession()
->linkByHrefExists('/admin/structure');
$this
->assertSession()
->linkByHrefNotExists('/admin-structure-alias');
$account = $this
->createUser([
'administer site configuration',
'access administration pages',
'access site reports',
]);
$this
->drupalLogin($account);
// Go to the status report page and check that the alias is used.
$this
->drupalGet('admin/reports/status');
$this
->assertSession()
->linkByHrefNotExists('/admin/structure');
$this
->assertSession()
->linkByHrefExists('/admin-structure-alias');
}