wiki.techinc.nl/tests/phpunit/includes/import/ImportableOldRevisionImporterTest.php
Adam Wight b6afa0bd1b Include change tags in revision import structure
This makes it possible to import change tags, which will be leveraged by
Extension:FileImporter.

Bug: T227849
Change-Id: I70a8df2b2be0ec11806eb8d798115c52683cc787
2019-09-03 21:14:16 +02:00

56 lines
1.3 KiB
PHP

<?php
use MediaWiki\MediaWikiServices;
use Psr\Log\NullLogger;
/**
* @group Database
* @coversDefaultClass ImportableOldRevisionImporter
*/
class ImportableOldRevisionImporterTest extends MediaWikiIntegrationTestCase {
public function setUp() {
parent::setUp();
$this->tablesUsed[] = 'change_tag';
$this->tablesUsed[] = 'change_tag_def';
ChangeTags::defineTag( 'tag1' );
}
public function provideTestCases() {
yield [ [] ];
yield [ [ "tag1" ] ];
}
/**
* @covers ::import
* @param $expectedTags
* @dataProvider provideTestCases
*/
public function testImport( $expectedTags ) {
$services = MediaWikiServices::getInstance();
$title = Title::newFromText( __CLASS__ . rand() );
$revision = new WikiRevision( $services->getMainConfig() );
$revision->setTitle( $title );
$revision->setTags( $expectedTags );
$revision->setText( "dummy edit" );
$importer = new ImportableOldRevisionImporter(
true,
new NullLogger(),
$services->getDBLoadBalancer()
);
$result = $importer->import( $revision );
$this->assertTrue( $result );
$page = WikiPage::factory( $title );
$tags = ChangeTags::getTags(
$services->getDBLoadBalancer()->getConnection( DB_MASTER ),
null,
$page->getLatest()
);
$this->assertSame( $expectedTags, $tags );
}
}