public function R4032LoginSubscriberTest::testAuthenticatedRedirect in Redirect 403 to User Login 2.x
Same name and namespace in other branches
- 8 tests/src/Unit/R4032LoginSubscriberTest.php \Drupal\Tests\r4032login\Unit\R4032LoginSubscriberTest::testAuthenticatedRedirect()
Tests RedirectResponse for authenticated users.
@covers ::on403
@dataProvider providerRequests
Parameters
Request $request: The request object.
array $config_values: The configuration values.
string $expected_url: The expected target URL.
File
- tests/
src/ Unit/ R4032LoginSubscriberTest.php, line 184
Class
- R4032LoginSubscriberTest
- @coversDefaultClass \Drupal\r4032login\EventSubscriber\R4032LoginSubscriber @group r4032login
Namespace
Drupal\Tests\r4032login\UnitCode
public function testAuthenticatedRedirect(Request $request, array $config_values, $expected_url) {
$config = $this
->getConfigFactoryStub([
'r4032login.settings' => $config_values,
]);
$config
->get('r4032login.settings')
->expects($this
->any())
->method('getCacheContexts')
->willReturn([]);
$config
->get('r4032login.settings')
->expects($this
->any())
->method('getCacheTags')
->willReturn([]);
$this->currentUser
->expects($this
->any())
->method('isAuthenticated')
->willReturn(TRUE);
$r4032login = new R4032LoginSubscriber($config, $this->currentUser, $this->pathMatcher, $this->eventDispatcher, $this->messenger);
$event = new GetResponseForExceptionEvent($this->kernel, $request, HttpKernelInterface::MASTER_REQUEST, new AccessDeniedHttpException());
$dispatcher = new EventDispatcher();
$dispatcher
->addListener(KernelEvents::EXCEPTION, [
$r4032login,
'on403',
]);
$dispatcher
->dispatch(KernelEvents::EXCEPTION, $event);
$response = $event
->getResponse();
$this
->assertInstanceOf('\\Symfony\\Component\\HttpFoundation\\RedirectResponse', $response);
$this
->assertEquals($config_values['default_redirect_code'], $response
->getStatusCode());
$this
->assertEquals($expected_url, $response
->getTargetUrl());
}