function MigrateUrlAliasTest::testUrlAlias
Same name in other branches
- 9 core/modules/path/tests/src/Kernel/Migrate/d6/MigrateUrlAliasTest.php \Drupal\Tests\path\Kernel\Migrate\d6\MigrateUrlAliasTest::testUrlAlias()
- 10 core/modules/path/tests/src/Kernel/Migrate/d6/MigrateUrlAliasTest.php \Drupal\Tests\path\Kernel\Migrate\d6\MigrateUrlAliasTest::testUrlAlias()
- 11.x core/modules/path/tests/src/Kernel/Migrate/d6/MigrateUrlAliasTest.php \Drupal\Tests\path\Kernel\Migrate\d6\MigrateUrlAliasTest::testUrlAlias()
Test the url alias migration.
File
-
core/
modules/ path/ tests/ src/ Kernel/ Migrate/ d6/ MigrateUrlAliasTest.php, line 72
Class
- MigrateUrlAliasTest
- URL alias migration.
Namespace
Drupal\Tests\path\Kernel\Migrate\d6Code
public function testUrlAlias() {
$id_map = $this->getMigration('d6_url_alias')
->getIdMap();
// Test that the field exists.
$conditions = [
'path' => '/node/1',
'alias' => '/alias-one',
'langcode' => 'af',
];
$path_alias = $this->loadPathAliasByConditions($conditions);
$this->assertPath(1, $conditions, $path_alias);
$this->assertSame([
[
'1',
],
], $id_map->lookupDestinationIds([
$path_alias->id(),
]), "Test IdMap");
$conditions = [
'path' => '/node/2',
'alias' => '/alias-two',
'langcode' => 'en',
];
$path_alias = $this->loadPathAliasByConditions($conditions);
$this->assertPath(2, $conditions, $path_alias);
// Test that we can re-import using the UrlAlias destination.
Database::getConnection('default', 'migrate')->update('url_alias')
->fields([
'dst' => 'new-url-alias',
])
->condition('src', 'node/2')
->execute();
\Drupal::database()->update($id_map->mapTableName())
->fields([
'source_row_status' => MigrateIdMapInterface::STATUS_NEEDS_UPDATE,
])
->execute();
$migration = $this->getMigration('d6_url_alias');
$this->executeMigration($migration);
$path_alias = $this->loadPathAliasByConditions([
'id' => $path_alias->id(),
]);
$conditions['alias'] = '/new-url-alias';
$this->assertPath(2, $conditions, $path_alias);
$conditions = [
'path' => '/node/3',
'alias' => '/alias-three',
'langcode' => 'und',
];
$path_alias = $this->loadPathAliasByConditions($conditions);
$this->assertPath(3, $conditions, $path_alias);
$path_alias = $this->loadPathAliasByConditions([
'alias' => '/source-noslash',
]);
$conditions = [
'path' => '/admin',
'alias' => '/source-noslash',
'langcode' => 'und',
];
$this->assertPath(8, $conditions, $path_alias);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.