Ideally we'd use Authority, but that doesn't always work, so just call the getTest* methods directly. Change-Id: I7f8393bb754beeb319b5555b5dac05265e376a22
34 lines
867 B
PHP
34 lines
867 B
PHP
<?php
|
|
|
|
use MediaWiki\Permissions\UltimateAuthority;
|
|
use MediaWiki\User\UserIdentityValue;
|
|
|
|
/**
|
|
* @group API
|
|
* @group medium
|
|
* @covers ApiClearHasMsg
|
|
*/
|
|
class ApiClearHasMsgTest extends ApiTestCase {
|
|
|
|
/**
|
|
* Test clearing hasmsg flag for current user
|
|
*/
|
|
public function testClearFlag() {
|
|
$user = new UserIdentityValue( 42, __METHOD__ );
|
|
$talkPageNotificationManager = $this->getServiceContainer()
|
|
->getTalkPageNotificationManager();
|
|
$talkPageNotificationManager->setUserHasNewMessages( $user );
|
|
$this->assertTrue( $talkPageNotificationManager->userHasNewMessages( $user ) );
|
|
|
|
$data = $this->doApiRequest(
|
|
[ 'action' => 'clearhasmsg' ],
|
|
[],
|
|
false,
|
|
new UltimateAuthority( $user )
|
|
);
|
|
|
|
$this->assertEquals( 'success', $data[0]['clearhasmsg'] );
|
|
$this->assertFalse( $talkPageNotificationManager->userHasNewMessages( $user ) );
|
|
}
|
|
|
|
}
|