X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=tests%2FUtil%2FAppMockTrait.php;h=59e1b3f556fd55b534344050317b40a06e2a4f19;hb=aa0b485f3dca72c5448076e913fa54d948cd7731;hp=03e8085479b79164b9898aeec5b6dacee84b71aa;hpb=c9cce8492e5b2607b2a092474d1de4d188b7a2c9;p=friendica.git diff --git a/tests/Util/AppMockTrait.php b/tests/Util/AppMockTrait.php index 03e8085479..59e1b3f556 100644 --- a/tests/Util/AppMockTrait.php +++ b/tests/Util/AppMockTrait.php @@ -1,10 +1,30 @@ . + * + */ namespace Friendica\Test\Util; +use Dice\Dice; use Friendica\App; -use Friendica\BaseObject; use Friendica\Core\Config; +use Friendica\DI; use Friendica\Render\FriendicaSmartyEngine; use Friendica\Util\Profiler; use Mockery\MockInterface; @@ -21,7 +41,7 @@ trait AppMockTrait protected $app; /** - * @var MockInterface|Config\Configuration The mocked Config Cache + * @var MockInterface|Config\IConfig The mocked Config Cache */ protected $configMock; @@ -35,6 +55,11 @@ trait AppMockTrait */ protected $mode; + /** + * @var MockInterface|Dice The dependency injection library + */ + protected $dice; + /** * Mock the App * @@ -43,51 +68,52 @@ trait AppMockTrait */ public function mockApp(vfsStreamDirectory $root, $raw = false) { - $this->configMock = \Mockery::mock(Config\Cache\IConfigCache::class); + $this->dice = \Mockery::mock(Dice::class)->makePartial(); + $this->dice = $this->dice->addRules(include __DIR__ . '/../../static/dependencies.config.php'); + + $this->configMock = \Mockery::mock(Config\Cache::class); + $this->dice->shouldReceive('create') + ->with(Config\Cache::class) + ->andReturn($this->configMock); $this->mode = \Mockery::mock(App\Mode::class); - $configAdapterMock = \Mockery::mock(Config\Adapter\IConfigAdapter::class); + $this->dice->shouldReceive('create') + ->with(App\Mode::class) + ->andReturn($this->mode); + $configModel= \Mockery::mock(\Friendica\Model\Config\Config::class); // Disable the adapter - $configAdapterMock->shouldReceive('isConnected')->andReturn(false); + $configModel->shouldReceive('isConnected')->andReturn(false); - $config = new Config\Configuration($this->configMock, $configAdapterMock); - // Initialize empty Config - Config::init($config); + $config = new Config\JitConfig($this->configMock, $configModel); + $this->dice->shouldReceive('create') + ->with(Config\IConfig::class) + ->andReturn($config); // Mocking App and most used functions $this->app = \Mockery::mock(App::class); + $this->dice->shouldReceive('create') + ->with(App::class) + ->andReturn($this->app); $this->app ->shouldReceive('getBasePath') ->andReturn($root->url()); - $this->app - ->shouldReceive('getMode') - ->andReturn($this->mode); - $this->profilerMock = \Mockery::mock(Profiler::class); $this->profilerMock->shouldReceive('saveTimestamp'); + $this->dice->shouldReceive('create') + ->with(Profiler::class) + ->andReturn($this->profilerMock); $this->app ->shouldReceive('getConfigCache') ->andReturn($this->configMock); - $this->app - ->shouldReceive('getConfig') - ->andReturn($config); $this->app ->shouldReceive('getTemplateEngine') - ->andReturn(new FriendicaSmartyEngine()); + ->andReturn(new FriendicaSmartyEngine('frio', [])); $this->app ->shouldReceive('getCurrentTheme') ->andReturn('Smarty3'); - $this->app - ->shouldReceive('getProfiler') - ->andReturn($this->profilerMock); - $this->app - ->shouldReceive('getBaseUrl') - ->andReturnUsing(function () { - return $this->configMock->get('system', 'url'); - }); - BaseObject::setApp($this->app); + DI::init($this->dice); if ($raw) { return;