X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2Fapi%2FApiDeleteTest.php;h=803eefb498b52ef76bc567f43f412aaa6b66e384;hb=db67de7fad899de33d4c8e3b6ee8189f8570d826;hp=fc546ffbe9616e43db9b4611f92ee82c3be3ed95;hpb=550c1035aab896d77441f1347723e34109067446;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/includes/api/ApiDeleteTest.php b/tests/phpunit/includes/api/ApiDeleteTest.php index fc546ffbe9..803eefb498 100644 --- a/tests/phpunit/includes/api/ApiDeleteTest.php +++ b/tests/phpunit/includes/api/ApiDeleteTest.php @@ -41,6 +41,35 @@ class ApiDeleteTest extends ApiTestCase { $this->assertFalse( Title::newFromText( $name )->exists() ); } + public function testBatchedDelete() { + $this->setMwGlobals( 'wgDeleteRevisionsBatchSize', 1 ); + + $name = 'Help:' . ucfirst( __FUNCTION__ ); + for ( $i = 1; $i <= 3; $i++ ) { + $this->editPage( $name, "Revision $i" ); + } + + $apiResult = $this->doApiRequestWithToken( [ + 'action' => 'delete', + 'title' => $name, + ] )[0]; + + $this->assertArrayHasKey( 'delete', $apiResult ); + $this->assertArrayHasKey( 'title', $apiResult['delete'] ); + $this->assertSame( $name, $apiResult['delete']['title'] ); + $this->assertArrayHasKey( 'scheduled', $apiResult['delete'] ); + $this->assertTrue( $apiResult['delete']['scheduled'] ); + $this->assertArrayNotHasKey( 'logid', $apiResult['delete'] ); + + // Run the jobs + JobQueueGroup::destroySingletons(); + $jobs = new RunJobs; + $jobs->loadParamsAndArgs( null, [ 'quiet' => true ], null ); + $jobs->execute(); + + $this->assertFalse( Title::newFromText( $name )->exists( Title::GAID_FOR_UPDATE ) ); + } + public function testDeleteNonexistent() { $this->setExpectedException( ApiUsageException::class, "The page you specified doesn't exist." );