trait PathAliasTestTrait in Drupal 9
Same name and namespace in other branches
- 8 core/tests/Drupal/Tests/Traits/Core/PathAliasTestTrait.php \Drupal\Tests\Traits\Core\PathAliasTestTrait
Provides methods to create and assert path_alias entities.
This trait is meant to be used only by test classes.
Hierarchy
- trait \Drupal\Tests\Traits\Core\PathAliasTestTrait
16 files declare their use of PathAliasTestTrait
- AliasTest.php in core/
modules/ path_alias/ tests/ src/ Kernel/ AliasTest.php - ContentNegotiationRoutingTest.php in core/
tests/ Drupal/ KernelTests/ Core/ Routing/ ContentNegotiationRoutingTest.php - DbDumpTest.php in core/
tests/ Drupal/ KernelTests/ Core/ Command/ DbDumpTest.php - DisplayFeedTest.php in core/
modules/ views/ tests/ src/ Functional/ Plugin/ DisplayFeedTest.php - DisplayFeedTranslationTest.php in core/
modules/ views/ tests/ src/ Functional/ Plugin/ DisplayFeedTranslationTest.php
File
- core/
tests/ Drupal/ Tests/ Traits/ Core/ PathAliasTestTrait.php, line 12
Namespace
Drupal\Tests\Traits\CoreView source
trait PathAliasTestTrait {
/**
* Creates a new path alias.
*
* @param string $path
* The system path.
* @param string $alias
* The alias for the system path.
* @param string $langcode
* (optional) A language code for the path alias. Defaults to
* \Drupal\Core\Language\LanguageInterface::LANGCODE_NOT_SPECIFIED.
*
* @return \Drupal\path_alias\PathAliasInterface
* A path alias entity.
*/
protected function createPathAlias($path, $alias, $langcode = LanguageInterface::LANGCODE_NOT_SPECIFIED) {
/** @var \Drupal\path_alias\PathAliasInterface $path_alias */
$path_alias = \Drupal::entityTypeManager()
->getStorage('path_alias')
->create([
'path' => $path,
'alias' => $alias,
'langcode' => $langcode,
]);
$path_alias
->save();
return $path_alias;
}
/**
* Gets the first result from a 'load by properties' storage call.
*
* @param array $conditions
* An array of query conditions.
*
* @return \Drupal\path_alias\PathAliasInterface|null
* A path alias entity or NULL.
*/
protected function loadPathAliasByConditions($conditions) {
$storage = \Drupal::entityTypeManager()
->getStorage('path_alias');
$query = $storage
->getQuery()
->accessCheck(FALSE);
foreach ($conditions as $field => $value) {
$query
->condition($field, $value);
}
$entities = $storage
->loadMultiple($query
->execute());
return $entities ? reset($entities) : NULL;
}
/**
* Asserts that a path alias exists in the storage.
*
* @param string $alias
* The path alias.
* @param string|null $langcode
* (optional) The language code of the path alias.
* @param string|null $path
* (optional) The system path of the path alias.
* @param string|null $message
* (optional) A message to display with the assertion.
*/
protected function assertPathAliasExists($alias, $langcode = NULL, $path = NULL, $message = '') {
$query = \Drupal::entityTypeManager()
->getStorage('path_alias')
->getQuery()
->accessCheck(FALSE);
$query
->condition('alias', $alias, '=');
if ($langcode) {
$query
->condition('langcode', $langcode, '=');
}
if ($path) {
$query
->condition('path', $path, '=');
}
$query
->count();
$this
->assertTrue((bool) $query
->execute(), $message);
}
/**
* Asserts that a path alias does not exist in the storage.
*
* @param string $alias
* The path alias.
* @param string|null $langcode
* (optional) The language code of the path alias.
* @param string|null $path
* (optional) The system path of the path alias.
* @param string|null $message
* (optional) A message to display with the assertion.
*/
protected function assertPathAliasNotExists($alias, $langcode = NULL, $path = NULL, $message = '') {
$query = \Drupal::entityTypeManager()
->getStorage('path_alias')
->getQuery()
->accessCheck(FALSE);
$query
->condition('alias', $alias, '=');
if ($langcode) {
$query
->condition('langcode', $langcode, '=');
}
if ($path) {
$query
->condition('path', $path, '=');
}
$query
->count();
$this
->assertFalse((bool) $query
->execute(), $message);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
PathAliasTestTrait:: |
protected | function | Asserts that a path alias exists in the storage. | |
PathAliasTestTrait:: |
protected | function | Asserts that a path alias does not exist in the storage. | |
PathAliasTestTrait:: |
protected | function | Creates a new path alias. | |
PathAliasTestTrait:: |
protected | function | Gets the first result from a 'load by properties' storage call. |