From: Kunal Mehta Date: Sun, 19 Jan 2014 01:13:16 +0000 (-0800) Subject: Add tests for API's assert={user|bot} X-Git-Tag: 1.31.0-rc.0~15369^2 X-Git-Url: http://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/exercices/modifier.php?a=commitdiff_plain;h=c454bb904679f3e1f0ba12af9af906ffccf74f60;p=lhc%2Fweb%2Fwiklou.git Add tests for API's assert={user|bot} Change-Id: I5bff0adf11bccef137d59c05edae45d774596994 --- diff --git a/tests/phpunit/includes/api/ApiMainTest.php b/tests/phpunit/includes/api/ApiMainTest.php index 4ed5aa9721..8c5f5400e8 100644 --- a/tests/phpunit/includes/api/ApiMainTest.php +++ b/tests/phpunit/includes/api/ApiMainTest.php @@ -30,4 +30,43 @@ class ApiMainTest extends ApiTestCase { $this->assertThat( $sxe, $this->isInstanceOf( "SimpleXMLElement" ) ); } + public static function provideAssert() { + $anon = new User(); + $bot = new User(); + $bot->setName( 'Bot' ); + $bot->addToDatabase(); + $bot->addGroup( 'bot' ); + $user = new User(); + $user->setName( 'User' ); + $user->addToDatabase(); + return array( + array( $anon, 'user', 'assertuserfailed' ), + array( $user, 'user', false ), + array( $user, 'bot', 'assertbotfailed' ), + array( $bot, 'user', false ), + array( $bot, 'bot', false ), + ); + } + + /** + * Tests the assert={user|bot} functionality + * + * @covers ApiMain::checkAsserts + * @dataProvider provideAssert + * @param User $user + * @param string $assert + * @param string|bool $error false if no error expected + */ + public function testAssert( $user, $assert, $error ) { + try { + $this->doApiRequest( array( + 'action' => 'query', + 'assert' => $assert, + ), null, null, $user ); + $this->assertFalse( $error ); // That no error was expected + } catch ( UsageException $e ) { + $this->assertEquals( $e->getCodeString(), $error ); + } + } + }