Merge "Follow-up 3535a5f327: Remove old CSS now caches have expired"
[lhc/web/wiklou.git] / tests / phpunit / tests / MediaWikiTestCaseSchema1Test.php
1 <?php
2 use Wikimedia\Rdbms\IMaintainableDatabase;
3
4 /**
5 * @covers MediaWikiTestCase
6 *
7 * @group Database
8 * @group MediaWikiTestCaseTest
9 */
10 class MediaWikiTestCaseSchema1Test extends MediaWikiTestCase {
11
12 public static $hasRun = false;
13
14 public function setUp() {
15 parent::setUp();
16 // FIXME: fails under postgres
17 $this->markTestSkippedIfDbType( 'postgres' );
18 }
19
20 public function getSchemaOverrides( IMaintainableDatabase $db ) {
21 return [
22 'create' => [ 'MediaWikiTestCaseTestTable', 'imagelinks' ],
23 'drop' => [ 'oldimage' ],
24 'alter' => [ 'pagelinks' ],
25 'scripts' => [ __DIR__ . '/MediaWikiTestCaseSchemaTest.sql' ]
26 ];
27 }
28
29 public function testMediaWikiTestCaseSchemaTestOrder() {
30 // The test must be run before the second test
31 self::$hasRun = true;
32 $this->assertTrue( self::$hasRun );
33 }
34
35 public function testTableWasCreated() {
36 // Make sure MediaWikiTestCaseTestTable was created.
37 $this->assertTrue( $this->db->tableExists( 'MediaWikiTestCaseTestTable' ) );
38 }
39
40 public function testTableWasDropped() {
41 // Make sure oldimage was dropped
42 $this->assertFalse( $this->db->tableExists( 'oldimage' ) );
43 }
44
45 public function testTableWasOverriden() {
46 // Make sure imagelinks was overwritten
47 $this->assertTrue( $this->db->tableExists( 'imagelinks' ) );
48 $this->assertTrue( $this->db->fieldExists( 'imagelinks', 'il_frobnitz' ) );
49 }
50
51 public function testTableWasAltered() {
52 // Make sure pagelinks was altered
53 $this->assertTrue( $this->db->tableExists( 'pagelinks' ) );
54 $this->assertTrue( $this->db->fieldExists( 'pagelinks', 'pl_frobnitz' ) );
55 }
56
57 }