function PathAliasExistsTest::testConditionEvaluationAliasWithoutPath

Tests evaluating the condition for an alias that can not be resolved.

@covers ::evaluate

File

tests/src/Unit/Integration/Condition/PathAliasExistsTest.php, line 95

Class

PathAliasExistsTest
@coversDefaultClass \Drupal\rules\Plugin\Condition\PathAliasExists[[api-linebreak]] @group RulesCondition

Namespace

Drupal\Tests\rules\Unit\Integration\Condition

Code

public function testConditionEvaluationAliasWithoutPath() {
  // If the path does not exist, getPathByAlias() should return the alias.
  $this->aliasManager
    ->getPathByAlias('/alias-for-path-that-does-not-exist', NULL)
    ->willReturn('/alias-for-path-that-does-not-exist')
    ->shouldBeCalledTimes(1);
  $this->aliasManager
    ->getPathByAlias('/alias-for-path-that-does-not-exist', 'en')
    ->willReturn('/alias-for-path-that-does-not-exist')
    ->shouldBeCalledTimes(1);
  // First, only set the path context.
  $this->condition
    ->setContextValue('alias', '/alias-for-path-that-does-not-exist');
  // Test without language context set. This should return false because the
  // alias was not defined.
  $this->assertFalse($this->condition
    ->evaluate());
  // Test with language context set.
  $this->condition
    ->setContextValue('language', $this->englishLanguage
    ->reveal());
  $this->assertFalse($this->condition
    ->evaluate());
}