Esempio n. 1
0
 /**
  * Ensure all tests have a reference to the MODX and Discuss objects
  */
 public function setUp()
 {
     $this->modx =& DiscussTestHarness::_getConnection();
     $disCorePath = $this->modx->getOption('discuss.core_path', null, $this->modx->getOption('core_path', null, MODX_CORE_PATH) . 'components/discuss/');
     require_once $disCorePath . 'model/discuss/discuss.class.php';
     $this->discuss = new Discuss($this->modx);
     $this->modx->discuss =& $this->discuss;
     /* set this here to prevent emails/headers from being sent */
     $this->discuss->inTestMode = true;
     /* make sure to reset MODX placeholders so as not to keep placeholder data across tests */
     $this->modx->placeholders = array();
 }
Esempio n. 2
0
 /**
  * Grab a persistent instance of the xPDO class to share connection data
  * across multiple tests and test suites.
  *
  * @param array $options An array of configuration parameters.
  * @return xPDO An xPDO object instance.
  */
 public static function _getConnection($options = array())
 {
     $modx = DiscussTestHarness::$modx;
     if (is_object($modx)) {
         if (!$modx->request) {
             $modx->getRequest();
         }
         if (!$modx->error) {
             $modx->request->loadErrorHandler();
         }
         $modx->error->reset();
         DiscussTestHarness::$modx = $modx;
         return DiscussTestHarness::$modx;
     }
     /* include config.core.php */
     $properties = array();
     include_once strtr(realpath(dirname(__FILE__)) . '/config.inc.php', '\\', '/');
     require_once $config['modx_base_path'] . 'config.core.php';
     require_once MODX_CORE_PATH . 'config/' . MODX_CONFIG_KEY . '.inc.php';
     require_once MODX_CORE_PATH . 'model/modx/modx.class.php';
     include_once strtr(realpath(dirname(__FILE__)) . '/properties.inc.php', '\\', '/');
     if (!defined('MODX_REQP')) {
         define('MODX_REQP', false);
     }
     $modx = new modX(null, $properties);
     $ctx = !empty($options['ctx']) ? $options['ctx'] : 'web';
     $modx->initialize($ctx);
     $debug = !empty($options['debug']);
     $modx->setDebug($debug);
     if (!empty($properties['logTarget'])) {
         $modx->setLogTarget($properties['logTarget']);
     }
     if (!empty($properties['logLevel'])) {
         $modx->setLogLevel($properties['logLevel']);
     }
     $modx->user = $modx->newObject('modUser');
     $modx->user->set('id', $modx->getOption('modx.test.user.id', null, 1));
     $modx->user->set('username', $modx->getOption('modx.test.user.username', null, 'test'));
     $modx->getRequest();
     $modx->getParser();
     $modx->request->loadErrorHandler();
     DiscussTestHarness::$modx = $modx;
     return $modx;
 }