mediawiki-extensions-Echo/tests/phpunit/api/ApiEchoMarkReadTest.php
Ori Livneh 70bd4763e7 Include ApiEchoMarkReadTest in @Database group
This gets the database reset upon completion, which is needed for some reason I
can't quite locate. I17ef1f51 passes with this change.

Change-Id: I12759772001048a3be69a80adbb2572b7d9f0397
2016-05-23 16:12:02 -07:00

114 lines
2.9 KiB
PHP

<?php
/**
* @group medium
* @group API
* @group Database
* @covers ApiQuery
*/
class ApiEchoMarkReadTest extends ApiTestCase {
protected function setUp() {
parent::setUp();
$this->doLogin();
}
function getTokens() {
return $this->getTokenList( self::$users['sysop'] );
}
public function testMarkReadWithList() {
$tokens = $this->getTokens();
// Grouping by section
$data = $this->doApiRequest( array(
'action' => 'echomarkread',
'notlist' => '121|122|123',
'token' => $tokens['edittoken'] ) );
$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 );
// Alert
$this->assertArrayHasKey( 'alert', $result );
$alert = $result['alert'];
$this->assertArrayHasKey( 'rawcount', $alert );
$this->assertArrayHasKey( 'count', $alert );
// Message
$this->assertArrayHasKey( 'message', $result );
$message = $result['message'];
$this->assertArrayHasKey( 'rawcount', $message );
$this->assertArrayHasKey( 'count', $message );
}
public function testMarkReadWithAll() {
$tokens = $this->getTokens();
// Grouping by section
$data = $this->doApiRequest( array(
'action' => 'echomarkread',
'notall' => '1',
'token' => $tokens['edittoken'] ) );
$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 );
// Alert
$this->assertArrayHasKey( 'alert', $result );
$alert = $result['alert'];
$this->assertArrayHasKey( 'rawcount', $alert );
$this->assertArrayHasKey( 'count', $alert );
// Message
$this->assertArrayHasKey( 'message', $result );
$message = $result['message'];
$this->assertArrayHasKey( 'rawcount', $message );
$this->assertArrayHasKey( 'count', $message );
}
public function testMarkReadWithSections() {
$tokens = $this->getTokens();
// Grouping by section
$data = $this->doApiRequest( array(
'action' => 'echomarkread',
'sections' => 'alert|message',
'token' => $tokens['edittoken'] ) );
$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 );
// Alert
$this->assertArrayHasKey( 'alert', $result );
$alert = $result['alert'];
$this->assertArrayHasKey( 'rawcount', $alert );
$this->assertArrayHasKey( 'count', $alert );
// Message
$this->assertArrayHasKey( 'message', $result );
$message = $result['message'];
$this->assertArrayHasKey( 'rawcount', $message );
$this->assertArrayHasKey( 'count', $message );
}
}