wiki.techinc.nl/tests/phpunit
Daimona Eaytoy ead444b208 mail: Make EmailUser::getPermissionsError() return StatusValue
This is non-trivial because:
- "blockedemailuser" is not a real message, so it can't be passed to
  StatusValue. For now, use BlockErrorFormatter to obtain a suitable
  message. In the future, we should simply rely on
  Authority/PermissionManager to set a message for us, but that's left
  for another change.
- The hooks used here return an error in the format accepted by
  ErrorPageError. There's no "official" way to do this with StatusValue.
  This patch uses StatusValue::value as a temporary workaround, but
  these hooks should be replaced with a new hook that uses StatusValue
  for errors.

As an aside, note that ApiEmailUser passes the return value of
getPermissionsError to dieWithError(), which doesn't work in the cases
above. This is a pre-existing issue that will be fixed in another patch.

Bug: T265541
Change-Id: I84cc521b24adef6406e0378a293438d5cd7db02a
2023-05-20 13:21:59 +00:00
..
data rdbms: Stop supporting MySQL in SQLite via regex 2023-05-05 01:20:01 +02:00
docs
includes Merge "Remove NamespaceInfo::getRestrictionLevels" 2023-05-20 12:10:12 +00:00
integration/includes UserIdentityValue: Always throw a deprecation warning on passed actor id 2023-05-20 11:16:18 +03:00
maintenance tests: Make some PHPUnit data providers static 2023-05-20 01:05:27 +02:00
mocks Remove NamespaceInfo::getRestrictionLevels 2023-05-20 08:52:50 +00:00
structure BundleSizeTest: use a provider 2023-05-16 00:42:48 +00:00
suites Replace internal Hooks::runner 2023-05-11 06:17:38 +00:00
tests rdbms: Move ReadOnlyMode and ConfiguredReadOnlyMode to rdbms library 2023-05-04 23:41:21 +02:00
unit mail: Make EmailUser::getPermissionsError() return StatusValue 2023-05-20 13:21:59 +00:00
bootstrap.maintenance.php
bootstrap.php phpunit: Check if composer dependencies are up-to-date 2023-03-09 18:26:06 -05:00
HamcrestPHPUnitIntegration.php
MediaWikiCliOptions.php
MediaWikiCoversValidator.php
MediaWikiGroupValidator.php
MediaWikiIntegrationTestCase.php Merge "MediaWikiIntegrationTestCase: Fail test when insert() fails" 2023-05-11 08:04:39 +00:00
MediaWikiLangTestCase.php
MediaWikiLoggerPHPUnitExtension.php
MediaWikiPHPUnitResultPrinter.php
MediaWikiTestCaseTrait.php phpunit: Move assertArraySubmapSame() to MediaWikiTestCaseTrait 2023-05-01 22:19:21 +00:00
MediaWikiUnitTestCase.php
MWTestDox.php
phpunit.php phpunit: Check if composer dependencies are up-to-date 2023-03-09 18:26:06 -05:00
README.md
ResourceLoaderTestCase.php ResourceLoader: Add structure test for ResourceLoader::respond() 2023-04-10 18:18:54 -07:00
suite.xml Remove LessFileCompilationTest 2023-05-02 12:47:41 +10:00

MediaWiki PHPUnit tests

WARNING: Integration tests may be destructive and alter or remove parts of your local database. We try to use temporary tables where possible, but you must never run tests on a production server or on a wiki where you don't want to lose data.

Running tests

If you haven't already, run composer update (specifically without --no-dev) in the MediaWiki core directory. This will install PHPUnit.

To read about how to run specific tests, refer to:

https://www.mediawiki.org/wiki/Manual:PHP_unit_testing/Running_the_tests

Writing tests

A guide to writing PHPUnit tests for MediaWiki can be found at:

https://www.mediawiki.org/wiki/Manual:PHP_unit_testing