Merge "maintenance: Document secondary purpose of --server"
[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 getSchemaOverrides( IMaintainableDatabase $db ) {
15 return [
16 'create' => [ 'MediaWikiTestCaseTestTable', 'imagelinks' ],
17 'drop' => [ 'oldimage' ],
18 'alter' => [ 'pagelinks' ],
19 'scripts' => [ __DIR__ . '/MediaWikiTestCaseSchemaTest.sql' ]
20 ];
21 }
22
23 public function testMediaWikiTestCaseSchemaTestOrder() {
24 // The test must be run before the second test
25 self::$hasRun = true;
26 $this->assertTrue( self::$hasRun );
27 }
28
29 public function testTableWasCreated() {
30 // Make sure MediaWikiTestCaseTestTable was created.
31 $this->assertTrue( $this->db->tableExists( 'MediaWikiTestCaseTestTable' ) );
32 }
33
34 public function testTableWasDropped() {
35 // Make sure oldimage was dropped
36 $this->assertFalse( $this->db->tableExists( 'oldimage' ) );
37 }
38
39 public function testTableWasOverriden() {
40 // Make sure imagelinks was overwritten
41 $this->assertTrue( $this->db->tableExists( 'imagelinks' ) );
42 $this->assertTrue( $this->db->fieldExists( 'imagelinks', 'il_frobnitz' ) );
43 }
44
45 public function testTableWasAltered() {
46 // Make sure pagelinks was altered
47 $this->assertTrue( $this->db->tableExists( 'pagelinks' ) );
48 $this->assertTrue( $this->db->fieldExists( 'pagelinks', 'pl_frobnitz' ) );
49 }
50
51 }