Loading core/modules/user/src/Controller/UserController.php +1 −2 Original line number Diff line number Diff line Loading @@ -283,8 +283,7 @@ public function userPage() { * Redirects users to their profile edit page. * * This controller assumes that it is only invoked for authenticated users. * This is enforced for the 'user.well-known.change_password' route with the * '_user_is_logged_in' requirement. * This is typically enforced with the '_user_is_logged_in' requirement. * * @return \Symfony\Component\HttpFoundation\RedirectResponse * Returns a redirect to the profile edit form of the currently logged in Loading core/modules/user/tests/src/Kernel/Controller/UserControllerTest.php 0 → 100644 +76 −0 Original line number Diff line number Diff line <?php namespace Drupal\Tests\user\Kernel\Controller; use Drupal\Core\Url; use Drupal\KernelTests\KernelTestBase; use Drupal\Tests\user\Traits\UserCreationTrait; use Drupal\user\Controller\UserController; /** * Tests for the User controller. * * @group user * * @coversDefaultClass \Drupal\user\Controller\UserController */ class UserControllerTest extends KernelTestBase { use UserCreationTrait; /** * The user controller. * * @var \Drupal\user\Controller\UserController */ protected $userController; /** * The logged in user. * * @var \Drupal\user\UserInterface */ protected $user; /** * {@inheritdoc} */ protected static $modules = [ 'user', ]; /** * {@inheritDoc} */ protected function setUp(): void { parent::setUp(); $this->userController = UserController::create(\Drupal::getContainer()); // Create and log in a user. $this->user = $this->setUpCurrentUser(); } /** * Tests the redirection to a user edit page. * * @covers ::userEditPage */ public function testUserEditPage() { $response = $this->userController->userEditPage(); // Ensure the response is directed to the correct user edit page. $edit_url = Url::fromRoute('entity.user.edit_form', [ 'user' => $this->user->id(), ])->setAbsolute() ->toString(); $this->assertEquals($edit_url, $response->getTargetUrl()); $this->assertEquals(301, $response->getStatusCode()); } } core/modules/user/user.routing.yml +8 −0 Original line number Diff line number Diff line Loading @@ -146,6 +146,14 @@ user.page: requirements: _user_is_logged_in: 'TRUE' user.edit: path: '/user/edit' defaults: _controller: '\Drupal\user\Controller\UserController::userEditPage' _title: 'Edit account' requirements: _user_is_logged_in: 'TRUE' user.login: path: '/user/login' defaults: Loading Loading
core/modules/user/src/Controller/UserController.php +1 −2 Original line number Diff line number Diff line Loading @@ -283,8 +283,7 @@ public function userPage() { * Redirects users to their profile edit page. * * This controller assumes that it is only invoked for authenticated users. * This is enforced for the 'user.well-known.change_password' route with the * '_user_is_logged_in' requirement. * This is typically enforced with the '_user_is_logged_in' requirement. * * @return \Symfony\Component\HttpFoundation\RedirectResponse * Returns a redirect to the profile edit form of the currently logged in Loading
core/modules/user/tests/src/Kernel/Controller/UserControllerTest.php 0 → 100644 +76 −0 Original line number Diff line number Diff line <?php namespace Drupal\Tests\user\Kernel\Controller; use Drupal\Core\Url; use Drupal\KernelTests\KernelTestBase; use Drupal\Tests\user\Traits\UserCreationTrait; use Drupal\user\Controller\UserController; /** * Tests for the User controller. * * @group user * * @coversDefaultClass \Drupal\user\Controller\UserController */ class UserControllerTest extends KernelTestBase { use UserCreationTrait; /** * The user controller. * * @var \Drupal\user\Controller\UserController */ protected $userController; /** * The logged in user. * * @var \Drupal\user\UserInterface */ protected $user; /** * {@inheritdoc} */ protected static $modules = [ 'user', ]; /** * {@inheritDoc} */ protected function setUp(): void { parent::setUp(); $this->userController = UserController::create(\Drupal::getContainer()); // Create and log in a user. $this->user = $this->setUpCurrentUser(); } /** * Tests the redirection to a user edit page. * * @covers ::userEditPage */ public function testUserEditPage() { $response = $this->userController->userEditPage(); // Ensure the response is directed to the correct user edit page. $edit_url = Url::fromRoute('entity.user.edit_form', [ 'user' => $this->user->id(), ])->setAbsolute() ->toString(); $this->assertEquals($edit_url, $response->getTargetUrl()); $this->assertEquals(301, $response->getStatusCode()); } }
core/modules/user/user.routing.yml +8 −0 Original line number Diff line number Diff line Loading @@ -146,6 +146,14 @@ user.page: requirements: _user_is_logged_in: 'TRUE' user.edit: path: '/user/edit' defaults: _controller: '\Drupal\user\Controller\UserController::userEditPage' _title: 'Edit account' requirements: _user_is_logged_in: 'TRUE' user.login: path: '/user/login' defaults: Loading