function testAddAdCategory() { TestEnv::startTransaction(); $ret = Admin_DA::addAdCategory(array('ad_id' => 1, 'category_id' => 2)); $this->assertTrue(is_int($ret)); $this->assertTrue($ret > 0); TestEnv::rollbackTransaction(); }
/** * A method for restoring the testing environment database setup. * This method can normaly be avoided by using transactions to * rollback database changes during testing, but sometimes a * DROP TEMPORARY TABLE (for example) is used during testing, * causing any transaction to be committed. In this case, this * method is needed to re-set the testing database. */ static function restoreEnv($dropTmpTables = 'false') { $oDbh =& OA_DB::singleton(); // Rollback any transactions that have not been closed // (Naughty, naughty test!) while ($oDbh->inTransaction(true) || $oDbh->inTransaction()) { TestEnv::rollbackTransaction(); } if ($dropTmpTables) { TestEnv::dropTempTables(); } // Truncate all known core tables $oTable =& OA_DB_Table_Core::singleton(); $oTable->truncateAllTables(); // Reset all database sequences $oTable->resetAllSequences(); // Destroy the service locator $oServiceLocator =& OA_ServiceLocator::instance(); unset($oServiceLocator->aService); // Re-set up the test environment TestRunner::setupEnv($GLOBALS['_MAX']['TEST']['layerEnv'], true); }