wiki.techinc.nl/tests/phpunit/includes/specialpage
Dreamy Jazz 0fa81768c2 Send temporary accounts to Special:CreateAccount on ::requireNamed
Why:
* When code throws a UserNotLoggedIn error for a temporary account,
  this takes them to Special:UserLogin and asks them to log in to
  an account
* Users using temporary accounts are less likely to have a named
  account, so should instead be sent to Special:CreateAccount
  (as described in T358586)
* When doing this, the warning message should be customised to
  talk about the user needing to create an account (and not
  log in)

What:
* Update UserNotLoggedIn to redirect to Special:CreateAccount
  when the user is logged in to a temporary account
** The code which constructs the exception object can override
   this and force the redirect to always be to Special:UserLogin.
* When the redirect is to Special:CreateAccount, allow customising
  the message shown by adding a '-for-temp-user' suffix to the
  message key in UserNotLoggedIn.
** This suffix is only added if the resulting message exists,
   so that code can choose whether they need a message that is
   different to the one on Special:UserLogin.
* Update SpecialPage::requiredNamedUser to allow special pages to
  force the redirect to always be to Special:UserLogin
** This is made use of in Special:ChangeEmail and
   Special:ConfirmEmail, as these special pages only make sense
   for use with an existing account.
* Update and add message keys to allow a different message for
  Special:CreateAccount.
* Update and add tests for these changes.

Bug: T358586
Change-Id: Ie0dd06f51b1e2b85eef6be377f673a02732ce604
2024-09-24 21:42:17 +00:00
..
AbstractChangesListSpecialPageTestCase.php phpunit: Replace trivial wfParseUrl use with parse_url() 2024-08-29 03:15:36 +01:00
ChangesListSpecialPageTest.php ChangesListSpecialPage: Add another query test case 2024-08-02 01:01:26 +02:00
FormSpecialPageTestCase.php Redefine services before ::newSpecialPage in FormSpecialPageTestCase 2024-04-15 19:28:20 +01:00
SpecialPageFactoryTest.php tests: Namespace SpecialPage classes 2024-02-17 00:53:44 +00:00
SpecialPageTest.php Send temporary accounts to Special:CreateAccount on ::requireNamed 2024-09-24 21:42:17 +00:00
SpecialPageTestHelper.php tests: Namespace SpecialPage classes 2024-02-17 00:53:44 +00:00