You are here

protected function SystemPageRedirectTest::setUp in Rules 8.3

Overrides RulesIntegrationTestBase::setUp

File

tests/src/Unit/Integration/RulesAction/SystemPageRedirectTest.php, line 64

Class

SystemPageRedirectTest
@coversDefaultClass \Drupal\rules\Plugin\RulesAction\SystemPageRedirect @group RulesAction

Namespace

Drupal\Tests\rules\Unit\Integration\RulesAction

Code

protected function setUp() : void {
  parent::setUp();

  // Mock the Rules debug logger service, make it return our mocked logger,
  // and register it in the container.
  $this->logger = $this
    ->prophesize(LoggerChannelInterface::class);
  $this->container
    ->set('logger.channel.rules_debug', $this->logger
    ->reveal());

  // Mock a parameter bag.
  $this->parameterBag = $this
    ->prophesize(ParameterBag::class);

  // Mock a request, and set our mocked parameter bag as it attributes
  // property.
  $this->currentRequest = $this
    ->prophesize(Request::class);
  $this->currentRequest->attributes = $this->parameterBag
    ->reveal();

  // Mock the request stack, make it return our mocked request when the
  // current request is requested, and register it in the container.
  $this->requestStack = $this
    ->prophesize(RequestStack::class);
  $this->requestStack
    ->getCurrentRequest()
    ->willReturn($this->currentRequest);
  $this->container
    ->set('request_stack', $this->requestStack
    ->reveal());

  // Mock the current path stack.
  $this->currentPathStack = $this
    ->prophesize(CurrentPathStack::class);
  $this->container
    ->set('path.current', $this->currentPathStack
    ->reveal());

  // Instantiate the redirect action.
  $this->action = $this->actionManager
    ->createInstance('rules_page_redirect');
}