destroyApplication(); } /** * Returns a test configuration param from /data/config.php * @param string $name params name * @param mixed $default default value to use when param is not set. * @return mixed the value of the configuration param */ public static function getParam($name, $default = null) { if (static::$params === null) { static::$params = require(__DIR__ . '/data/config.php'); } return isset(static::$params[$name]) ? static::$params[$name] : $default; } /** * Populates Yii::$app with a new application * The application will be destroyed on tearDown() automatically. * @param array $config The application configuration, if needed * @param string $appClass name of the application class to create */ protected function mockApplication($config = [], $appClass = '\yii\console\Application') { static $defaultConfig = [ 'id' => 'testapp', 'basePath' => __DIR__, ]; $defaultConfig['vendorPath'] = dirname(dirname(__DIR__)) . '/vendor'; new $appClass(ArrayHelper::merge($defaultConfig, $config)); } protected function mockWebApplication($config = [], $appClass = '\yii\web\Application') { static $defaultConfig = [ 'id' => 'testapp', 'basePath' => __DIR__, 'components' => [ 'request' => [ 'cookieValidationKey' => 'wefJDF8sfdsfSDefwqdxj9oq', ], ] ]; $defaultConfig['vendorPath'] = dirname(dirname(__DIR__)) . '/vendor'; new $appClass(ArrayHelper::merge($defaultConfig, $config)); } /** * Destroys application in Yii::$app by setting it to null. */ protected function destroyApplication() { \Yii::$app = null; } }