]> git.mxchange.org Git - friendica.git/blob - tests/src/Model/Storage/DatabaseStorageTest.php
Merge pull request #8099 from annando/statistics
[friendica.git] / tests / src / Model / Storage / DatabaseStorageTest.php
1 <?php
2
3 namespace Friendica\Test\src\Model\Storage;
4
5 use Friendica\Core\L10n\L10n;
6 use Friendica\Factory\ConfigFactory;
7 use Friendica\Model\Storage\Database;
8 use Friendica\Model\Storage\IStorage;
9 use Friendica\Test\DatabaseTestTrait;
10 use Friendica\Test\Util\Database\StaticDatabase;
11 use Friendica\Test\Util\VFSTrait;
12 use Friendica\Util\ConfigFileLoader;
13 use Friendica\Util\Profiler;
14 use Mockery\MockInterface;
15 use Psr\Log\NullLogger;
16
17 class DatabaseStorageTest extends StorageTest
18 {
19         use DatabaseTestTrait;
20         use VFSTrait;
21
22         protected function setUp()
23         {
24                 $this->setUpVfsDir();
25
26                 parent::setUp();
27         }
28
29         protected function getInstance()
30         {
31                 $logger = new NullLogger();
32                 $profiler = \Mockery::mock(Profiler::class);
33                 $profiler->shouldReceive('saveTimestamp')->withAnyArgs()->andReturn(true);
34
35                 // load real config to avoid mocking every config-entry which is related to the Database class
36                 $configFactory = new ConfigFactory();
37                 $loader = new ConfigFileLoader($this->root->url());
38                 $configCache = $configFactory->createCache($loader);
39
40                 $dba = new StaticDatabase($configCache, $profiler, $logger);
41
42                 /** @var MockInterface|L10n $l10n */
43                 $l10n = \Mockery::mock(L10n::class)->makePartial();
44
45                 return new Database($dba, $logger, $l10n);
46         }
47
48         protected function assertOption(IStorage $storage)
49         {
50                 $this->assertEmpty($storage->getOptions());
51         }
52 }