1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
<?php
namespace MediaWiki\Tests\Maintenance;
use MakeTestEdits;
/**
* @covers MakeTestEdits
* @group Database
* @author Dreamy Jazz
*/
class MakeTestEditsTest extends MaintenanceBaseTestCase {
protected function getMaintenanceClass() {
return MakeTestEdits::class;
}
public function testExecuteForUnregisteredUser() {
$this->maintenance->setOption( 'user', 'NonExistingTestUser1' );
$this->expectCallToFatalError();
$this->expectOutputRegex( '/No such user exists/' );
$this->maintenance->execute();
}
public function testExecute() {
// Run the maintenance script to create 5 edits.
$testUser = $this->getTestUser()->getUserIdentity();
$this->maintenance->setOption( 'user', $testUser->getName() );
$this->maintenance->setOption( 'count', 5 );
$this->maintenance->setBatchSize( 2 );
$this->maintenance->execute();
// Assert that the revision table now has 5 revisions in the mainspace for the test user we used
$this->newSelectQueryBuilder()
->select( 'COUNT(*)' )
->from( 'revision' )
->join( 'actor', null, 'actor_id=rev_actor' )
->join( 'page', null, 'page_id=rev_page' )
->where( [
'actor_name' => $testUser->getName(),
'page_namespace' => NS_MAIN,
] )
->assertFieldValue( 5 );
// Assert that no other unexpected revisions were created
$this->newSelectQueryBuilder()
->select( 'COUNT(*)' )
->from( 'revision' )
->assertFieldValue( 5 );
}
}
|