configCache = $config; // Mocking App and most used functions $this->app = \Mockery::mock(App::class); $this->app ->shouldReceive('getBasePath') ->andReturn($root->url()); $config ->shouldReceive('get') ->with('database', 'hostname') ->andReturn(getenv('MYSQL_HOST')); $config ->shouldReceive('get') ->with('database', 'username') ->andReturn(getenv('MYSQL_USERNAME')); $config ->shouldReceive('get') ->with('database', 'password') ->andReturn(getenv('MYSQL_PASSWORD')); $config ->shouldReceive('get') ->with('database', 'database') ->andReturn(getenv('MYSQL_DATABASE')); $config ->shouldReceive('get') ->with('config', 'hostname') ->andReturn('localhost'); $config ->shouldReceive('get') ->with('system', 'theme', NULL, false) ->andReturn('system_theme'); $config ->shouldReceive('getConfig') ->andReturn($config); $this->app ->shouldReceive('getConfigCache') ->andReturn($config); $this->app ->shouldReceive('getTemplateEngine') ->andReturn(new FriendicaSmartyEngine()); $this->app ->shouldReceive('getCurrentTheme') ->andReturn('Smarty3'); $this->app ->shouldReceive('saveTimestamp') ->andReturn(true); $this->app ->shouldReceive('getBaseUrl') ->andReturn('http://friendica.local'); // Initialize empty Config Config::init($config); BaseObject::setApp($this->app); } }