diff options
Diffstat (limited to 'www/wiki/tests/phpunit/includes/api/ApiPurgeTest.php')
-rw-r--r-- | www/wiki/tests/phpunit/includes/api/ApiPurgeTest.php | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/www/wiki/tests/phpunit/includes/api/ApiPurgeTest.php b/www/wiki/tests/phpunit/includes/api/ApiPurgeTest.php new file mode 100644 index 00000000..96d9a384 --- /dev/null +++ b/www/wiki/tests/phpunit/includes/api/ApiPurgeTest.php @@ -0,0 +1,40 @@ +<?php + +/** + * @group API + * @group Database + * @group medium + * + * @covers ApiPurge + */ +class ApiPurgeTest extends ApiTestCase { + + /** + * @group Broken + */ + public function testPurgeMainPage() { + if ( !Title::newFromText( 'UTPage' )->exists() ) { + $this->markTestIncomplete( "The article [[UTPage]] does not exist" ); + } + + $somePage = mt_rand(); + + $data = $this->doApiRequest( [ + 'action' => 'purge', + 'titles' => 'UTPage|' . $somePage . '|%5D' ] ); + + $this->assertArrayHasKey( 'purge', $data[0], + "Must receive a 'purge' result from API" ); + + $this->assertEquals( + 3, + count( $data[0]['purge'] ), + "Purge request for three articles should give back three results received: " + . var_export( $data[0]['purge'], true ) ); + + $pages = [ 'UTPage' => 'purged', $somePage => 'missing', '%5D' => 'invalid' ]; + foreach ( $data[0]['purge'] as $v ) { + $this->assertArrayHasKey( $pages[$v['title']], $v ); + } + } +} |