api: include details of email and own talk block

Bug: T329426
Change-Id: I099e3ca0b622712a20e4b786ad8c64f6acfe1e64
This commit is contained in:
Siddharth VP 2023-05-28 15:20:24 +05:30
parent 3683671cb9
commit 448f30dff3
2 changed files with 11 additions and 0 deletions

View file

@ -18,6 +18,7 @@
* @file
*/
use MediaWiki\Block\AbstractBlock;
use MediaWiki\Block\Block;
use MediaWiki\Block\DatabaseBlock;
use MediaWiki\Block\SystemBlock;
@ -64,6 +65,10 @@ trait ApiBlockInfoTrait {
$vals['blockpartial'] = !$block->isSitewide();
$vals['blocknocreate'] = $block->isCreateAccountBlocked();
$vals['blockanononly'] = !$block->isHardblock();
if ( $block instanceof AbstractBlock ) {
$vals['blockemail'] = $block->isEmailBlocked();
$vals['blockowntalk'] = !$block->isUsertalkEditAllowed();
}
$user = $this->getUser();
// Formatted timestamps

View file

@ -22,6 +22,8 @@ class ApiBlockInfoTraitTest extends MediaWikiIntegrationTestCase {
'blockedbyid' => 0,
'blockreason' => '',
'blockexpiry' => 'infinite',
'blockemail' => false,
'blockowntalk' => true,
], $expectedInfo );
$this->assertArraySubmapSame( $subset, $info, "Matching block details" );
}
@ -36,6 +38,10 @@ class ApiBlockInfoTraitTest extends MediaWikiIntegrationTestCase {
new DatabaseBlock( [ 'sitewide' => false ] ),
[ 'blockpartial' => true ],
],
'Email block' => [
new DatabaseBlock( [ 'blockEmail' => true ] ),
[ 'blockemail' => true ]
],
'System block' => [
new SystemBlock( [ 'systemBlock' => 'proxy' ] ),
[ 'systemblocktype' => 'proxy' ]