function SystemPageRedirectTest::setUp

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');
}