4 * Tests for MediaWiki api.php?action=delete.
14 class ApiDeleteTest
extends ApiTestCase
{
16 protected function setUp() {
22 public function testDelete() {
23 $name = 'Help:ApiDeleteTest_testDelete';
25 // test non-existing page
27 $this->doApiRequestWithToken( [
31 $this->fail( "Should have raised an ApiUsageException" );
32 } catch ( ApiUsageException
$e ) {
33 $this->assertTrue( self
::apiExceptionHasCode( $e, 'missingtitle' ) );
37 $this->editPage( $name, 'Some text' );
40 $apiResult = $this->doApiRequestWithToken( [
44 $apiResult = $apiResult[0];
46 $this->assertArrayHasKey( 'delete', $apiResult );
47 $this->assertArrayHasKey( 'title', $apiResult['delete'] );
48 // Normalized $name is used
50 'Help:ApiDeleteTest testDelete',
51 $apiResult['delete']['title']
53 $this->assertArrayHasKey( 'logid', $apiResult['delete'] );
55 $this->assertFalse( Title
::newFromText( $name )->exists() );
58 public function testDeletionWithoutPermission() {
59 $name = 'Help:ApiDeleteTest_testDeleteWithoutPermission';
62 $this->editPage( $name, 'Some text' );
64 // test deletion without permission
67 $apiResult = $this->doApiRequest( [
70 'token' => $user->getEditToken(),
71 ], null, null, $user );
72 $this->fail( "Should have raised an ApiUsageException" );
73 } catch ( ApiUsageException
$e ) {
74 $this->assertTrue( self
::apiExceptionHasCode( $e, 'permissiondenied' ) );
77 $this->assertTrue( Title
::newFromText( $name )->exists() );