wiki.techinc.nl/tests/phpunit
Tim Starling d6a3b6cfa8 TempUser EditPage and permissions
* Allow EditPage to create a user on page save. This has to be enabled
  in config and then activated by the UI/API caller.
* Add an autocreate source for temporary users.
* Allow editing by anonymous users via automatic account creation when
  $wgGroupPermisions['*']['edit'] = false. On an edit GET request, use
  an unsaved placeholder user to stand in for post-create permissions.
* On preview or aborted save, the username to be created is stashed in a
  session and restored on subsequent requests.
* On a (likely) successful page save, create the account.
* Put regular non-temporary users in a "named" group so that they can be
  given additional permissions.
* Use a different "~~~" signature for temporary users
* Show account creation warnings on edit and preview.

Change-Id: I67b23abf73cc371280bfb2b6c43b3ce0e077bfe5
2022-04-26 14:10:53 +10:00
..
data Use uniform representation for ParserOutput "index policy" 2022-03-31 09:51:21 -04:00
docs
includes TempUser EditPage and permissions 2022-04-26 14:10:53 +10:00
integration/includes GlobalIdGeneratorTest is not a unit test 2022-04-24 15:49:43 +03:00
languages Language: retrieve MainConfig instead of using a bunch of globals 2022-03-15 02:58:42 +00:00
maintenance Drop $wgMultiContentRevisionSchemaMigrationStage config 2022-04-12 21:29:41 +02:00
mocks TempUser infrastructure and services 2022-04-14 09:23:55 +10:00
structure phpunit: Support setting skin context in BundleSizeTest subclasses 2022-04-11 23:50:45 +00:00
suites Add wt2wt test mode to ParsoidTestRunner 2022-04-06 00:49:23 +05:30
tests Use new namespace for revision related classes 2022-04-14 23:03:43 +02:00
unit TempUser EditPage and permissions 2022-04-26 14:10:53 +10:00
bootstrap.maintenance.php phpunit: Remove or inline phpunit.php loadSettings() and fatalError() 2022-03-31 18:49:18 +00:00
bootstrap.php Move wfRequireOnceInGlobalScope to TestSetup 2022-04-25 12:52:58 +00:00
HamcrestPHPUnitIntegration.php
LessFileCompilationTest.php
MediaWikiCliOptions.php Improve ObjectCache integration tests 2022-02-11 10:20:33 +11:00
MediaWikiCoversValidator.php
MediaWikiGroupValidator.php
MediaWikiIntegrationTestCase.php Move wfRequireOnceInGlobalScope to TestSetup 2022-04-25 12:52:58 +00:00
MediaWikiLangTestCase.php
MediaWikiLoggerPHPUnitExtension.php
MediaWikiPHPUnitResultPrinter.php
MediaWikiTestCaseTrait.php Refactor URL-parsing global functions to class 2022-04-12 15:14:35 +03:00
MediaWikiUnitTestCase.php Use updated ObjectFactory namespace 2022-03-09 23:04:51 +00:00
phpunit.php phpunit: Remove some unnecessary code from phpunit.php 2022-04-23 16:29:42 +00:00
README.md phpunit: Update and simplify README 2022-03-31 19:37:33 +01:00
ResourceLoaderTestCase.php Define MW_INSTALL_PATH constant and BaseDirectory config. 2022-03-04 14:18:27 +01:00
suite.xml phpunit: Remove custom MediaWikiPHPUnitCommand and use default directly 2022-03-31 17:58:41 +00: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