mediawiki-extensions-Echo/tests/phpunit/Api/ApiEchoMarkReadTest.php
Umherirrender a51c944567 Use namespaced classes
Changes to the use statements done automatically via script
Addition of missing use statement done manually

Change-Id: I3d7a1ffe167b69d3f4ce51d0c248c758e1cdd70c
2024-06-12 20:31:47 +02:00

95 lines
2.6 KiB
PHP

<?php
use MediaWiki\Tests\Api\ApiTestCase;
/**
* @group medium
* @group API
* @group Database
* @covers \MediaWiki\Extension\Notifications\Api\ApiEchoMarkRead
*/
class ApiEchoMarkReadTest extends ApiTestCase {
public function testMarkReadWithList() {
// Grouping by section
$data = $this->doApiRequestWithToken( [
'action' => 'echomarkread',
'notlist' => '121|122|123',
] );
$this->assertArrayHasKey( 'query', $data[0] );
$this->assertArrayHasKey( 'echomarkread', $data[0]['query'] );
$result = $data[0]['query']['echomarkread'];
// General count
$this->assertArrayHasKey( 'count', $result );
$this->assertArrayHasKey( 'rawcount', $result );
$this->assertArrayHasKey( 'alert', $result );
$alert = $result['alert'];
$this->assertArrayHasKey( 'rawcount', $alert );
$this->assertArrayHasKey( 'count', $alert );
$this->assertArrayHasKey( 'message', $result );
$message = $result['message'];
$this->assertArrayHasKey( 'rawcount', $message );
$this->assertArrayHasKey( 'count', $message );
}
public function testMarkReadWithAll() {
// Grouping by section
$data = $this->doApiRequestWithToken( [
'action' => 'echomarkread',
'notall' => '1',
] );
$this->assertArrayHasKey( 'query', $data[0] );
$this->assertArrayHasKey( 'echomarkread', $data[0]['query'] );
$result = $data[0]['query']['echomarkread'];
// General count
$this->assertArrayHasKey( 'count', $result );
$this->assertArrayHasKey( 'rawcount', $result );
$this->assertArrayHasKey( 'alert', $result );
$alert = $result['alert'];
$this->assertArrayHasKey( 'rawcount', $alert );
$this->assertArrayHasKey( 'count', $alert );
$this->assertArrayHasKey( 'message', $result );
$message = $result['message'];
$this->assertArrayHasKey( 'rawcount', $message );
$this->assertArrayHasKey( 'count', $message );
}
public function testMarkReadWithSections() {
// Grouping by section
$data = $this->doApiRequestWithToken( [
'action' => 'echomarkread',
'sections' => 'alert|message',
] );
$this->assertArrayHasKey( 'query', $data[0] );
$this->assertArrayHasKey( 'echomarkread', $data[0]['query'] );
$result = $data[0]['query']['echomarkread'];
// General count
$this->assertArrayHasKey( 'count', $result );
$this->assertArrayHasKey( 'rawcount', $result );
$this->assertArrayHasKey( 'alert', $result );
$alert = $result['alert'];
$this->assertArrayHasKey( 'rawcount', $alert );
$this->assertArrayHasKey( 'count', $alert );
$this->assertArrayHasKey( 'message', $result );
$message = $result['message'];
$this->assertArrayHasKey( 'rawcount', $message );
$this->assertArrayHasKey( 'count', $message );
}
}