Open Monograph Press  3.3.0
DatabaseTestCase.inc.php
1 <?php
2 
20 import('lib.pkp.tests.PKPTestCase');
21 import('lib.pkp.tests.PKPTestHelper');
22 
23 abstract class DatabaseTestCase extends PKPTestCase {
24 
30  protected function getAffectedTables() {
31  return array();
32  }
33 
37  protected function setUp() : void {
38  // Switch off xdebug screaming (there are
39  // errors in adodb...).
41 
42  // Make sure we have a db connection (some tests
43  // might close it and that affects the next ones).
44  DBConnection::getInstance()->reconnect();
45 
46  // Backup affected tables.
47  $affectedTables = $this->getAffectedTables();
48  if (is_array($affectedTables)) {
49  PKPTestHelper::backupTables($affectedTables, $this);
50  }
51  parent::setUp();
52  }
53 
57  protected function tearDown() : void {
58  parent::tearDown();
59 
60  $affectedTables = $this->getAffectedTables();
61  if (is_array($affectedTables)) {
63  } elseif ($affectedTables === PKP_TEST_ENTIRE_DB) {
65  }
66 
67  // Switch xdebug screaming back on.
69  }
70 }
71 
DatabaseTestCase\setUp
setUp()
Definition: DatabaseTestCase.inc.php:37
PKPTestHelper\backupTables
static backupTables($tables, $test)
Definition: PKPTestHelper.inc.php:27
PKPTestCase
Class that implements functionality common to all PKP unit test cases.
Definition: PKPTestCase.inc.php:27
DatabaseTestCase\getAffectedTables
getAffectedTables()
Definition: DatabaseTestCase.inc.php:30
PKPTestHelper\xdebugScream
static xdebugScream($scream)
Definition: PKPTestHelper.inc.php:150
PKPTestHelper\restoreTables
static restoreTables($tables, $test)
Definition: PKPTestHelper.inc.php:66
DatabaseTestCase\tearDown
tearDown()
Definition: DatabaseTestCase.inc.php:57
PKPTestHelper\restoreDB
static restoreDB($test)
Definition: PKPTestHelper.inc.php:85
DBConnection\getInstance
static getInstance($setInstance=null)
Definition: DBConnection.inc.php:241
DatabaseTestCase
Base class for unit tests that require database support. The schema TestName.setUp....
Definition: DatabaseTestCase.inc.php:23