wiki.techinc.nl/tests/phpunit/includes/api/ApiBlockInfoTraitTest.php
Tchanders a6533885b8 Revert "Revert "Store block reasons as CommentStoreComments in block classes""
This reverts commit 5f06efb318, which
reverted 9335363789, which makes
the deprecated property AbstractBlock::mReason private.

After 9335363789, AbstractBlock::mReason is obsolete, since the block
reason is now stored as a CommentStoreComment, AbstractBlock::reason.

Change-Id: Ica0a74be90383689ca8e4cfe6d0fb25c9a5942c5
2019-10-20 10:41:17 +01:00

44 lines
1.1 KiB
PHP

<?php
use Wikimedia\TestingAccessWrapper;
use MediaWiki\Block\DatabaseBlock;
use MediaWiki\Block\SystemBlock;
/**
* @covers ApiBlockInfoTrait
*/
class ApiBlockInfoTraitTest extends MediaWikiTestCase {
/**
* @dataProvider provideGetBlockDetails
*/
public function testGetBlockDetails( $block, $expectedInfo ) {
$mock = $this->getMockForTrait( ApiBlockInfoTrait::class );
$mock->method( 'getLanguage' )->willReturn( 'en' );
$info = TestingAccessWrapper::newFromObject( $mock )->getBlockDetails( $block );
$subset = array_merge( [
'blockid' => null,
'blockedby' => '',
'blockedbyid' => 0,
'blockreason' => '',
'blockexpiry' => 'infinite',
], $expectedInfo );
$this->assertArraySubset( $subset, $info );
}
public static function provideGetBlockDetails() {
return [
'Sitewide block' => [
new DatabaseBlock(),
[ 'blockpartial' => false ],
],
'Partial block' => [
new DatabaseBlock( [ 'sitewide' => false ] ),
[ 'blockpartial' => true ],
],
'System block' => [
new SystemBlock( [ 'systemBlock' => 'proxy' ] ),
[ 'systemblocktype' => 'proxy' ]
],
];
}
}