use Friendica\App;
use Friendica\BaseObject;
use Friendica\Render\FriendicaSmartyEngine;
+use Mockery\MockInterface;
use org\bovigo\vfs\vfsStreamDirectory;
/**
trait AppMockTrait
{
use ConfigMockTrait;
- use DBAMockTrait;
/**
- * @var App The Friendica global App Mock
+ * @var MockInterface|App The mocked Friendica\App
*/
protected $app;
*/
public function mockApp($root)
{
- /// @todo This mock is ugly. We return an empty string for each translation - no workaround yet
- $l10nMock = \Mockery::mock('alias:Friendica\Core\L10n');
- $l10nMock->shouldReceive('t')
- ->andReturn('');
-
$this->mockConfigGet('system', 'theme', 'testtheme');
// Mocking App and most used functions
- $this->app = \Mockery::mock('Friendica\App');
+ $this->app = \Mockery::mock(App::class);
$this->app
->shouldReceive('getBasePath')
->andReturn($root->url());
$this->app
->shouldReceive('getCurrentTheme')
->andReturn('Smarty3');
- $this->app
- ->shouldReceive('getTemplateLeftDelimiter')
- ->with('smarty3')
- ->andReturn('{{');
- $this->app
- ->shouldReceive('getTemplateRightDelimiter')
- ->with('smarty3')
- ->andReturn('}}');
$this->app
->shouldReceive('saveTimestamp')
->andReturn(true);
->shouldReceive('getBaseUrl')
->andReturn('http://friendica.local');
- // Mocking the Theme
- // Necessary for macro engine with template files
- $themeMock = \Mockery::mock('alias:Friendica\Core\Theme');
- $themeMock
- ->shouldReceive('install')
- ->with('testtheme')
- ->andReturn(true);
-
BaseObject::setApp($this->app);
}
}