*/ class SiteSQLStoreTest extends MediaWikiTestCase { public function testGetSites() { $expectedSites = TestSites::getSites(); TestSites::insertIntoDb(); $sitesTable = SiteSQLStore::newInstance(); $sites = $sitesTable->getSites(); $this->assertInstanceOf( 'SiteList', $sites ); /** * @var Site $site */ foreach ( $sites as $site ) { $this->assertInstanceOf( 'Site', $site ); } foreach ( $expectedSites as $site ) { if ( $site->getGlobalId() !== null ) { $this->assertTrue( $sites->hasSite( $site->getGlobalId() ) ); } } } public function testSaveSites() { $sitesTable = SiteSQLStore::newInstance(); $sites = array(); $site = new Site(); $site->setGlobalId( 'ertrywuutr' ); $site->setLanguageCode( 'en' ); $sites[] = $site; $site = new MediaWikiSite(); $site->setGlobalId( 'sdfhxujgkfpth' ); $site->setLanguageCode( 'nl' ); $sites[] = $site; $this->assertTrue( $sitesTable->saveSites( $sites ) ); $site = $sitesTable->getSite( 'ertrywuutr', 'nocache' ); $this->assertInstanceOf( 'Site', $site ); $this->assertEquals( 'en', $site->getLanguageCode() ); $site = $sitesTable->getSite( 'sdfhxujgkfpth', 'nocache' ); $this->assertInstanceOf( 'Site', $site ); $this->assertEquals( 'nl', $site->getLanguageCode() ); } }