From: Art4 Date: Fri, 16 May 2025 07:12:08 +0000 (+0000) Subject: Fix tests for StrategiesFileManager X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=3f1082400a5f56468dc18cfeb3d99377502ff4e5;p=friendica.git Fix tests for StrategiesFileManager --- diff --git a/tests/src/Core/Hooks/Util/StrategiesFileManagerTest.php b/tests/src/Core/Hooks/Util/StrategiesFileManagerTest.php index 633b636701..f06e0b09e9 100644 --- a/tests/src/Core/Hooks/Util/StrategiesFileManagerTest.php +++ b/tests/src/Core/Hooks/Util/StrategiesFileManagerTest.php @@ -8,6 +8,7 @@ namespace Friendica\Test\src\Core\Hooks\Util; use Friendica\Core\Addon\Capability\ICanLoadAddons; +use Friendica\Core\Config\Capability\IManageConfigValues; use Friendica\Core\Hooks\Capability\ICanRegisterStrategies; use Friendica\Core\Hooks\Exceptions\HookConfigException; use Friendica\Core\Hooks\Util\StrategiesFileManager; @@ -33,49 +34,61 @@ class StrategiesFileManagerTest extends MockedTestCase return [ 'normal' => [ 'content' => << [ - \Psr\Log\NullLogger::class => [''], - ], -]; -EOF, - 'addonsArray' => [], + [ + \Psr\Log\NullLogger::class => [''], + ], + ]; + EOF, + 'addonContent' => << [ [LoggerInterface::class, NullLogger::class, ''], ], ], 'normalWithString' => [ 'content' => << [ - \Psr\Log\NullLogger::class => '', - ], -]; -EOF, - 'addonsArray' => [], + [ + \Psr\Log\NullLogger::class => '', + ], + ]; + EOF, + 'addonContent' => << [ [LoggerInterface::class, NullLogger::class, ''], ], ], 'withAddons' => [ 'content' => << [ - \Psr\Log\NullLogger::class => [''], - ], -]; -EOF, - 'addonsArray' => [ - \Psr\Log\LoggerInterface::class => [ - \Psr\Log\NullLogger::class => ['null'], - ], - ], + [ + \Psr\Log\NullLogger::class => [''], + ], + ]; + EOF, + 'addonContent' => << [ + \Psr\Log\NullLogger::class => ['null'], + ], + ]; + EOF, 'assertStrategies' => [ [LoggerInterface::class, NullLogger::class, ''], [LoggerInterface::class, NullLogger::class, 'null'], @@ -83,19 +96,23 @@ EOF, ], 'withAddonsWithString' => [ 'content' => << [ - \Psr\Log\NullLogger::class => [''], - ], -]; -EOF, - 'addonsArray' => [ - \Psr\Log\LoggerInterface::class => [ - \Psr\Log\NullLogger::class => 'null', - ], - ], + [ + \Psr\Log\NullLogger::class => [''], + ], + ]; + EOF, + 'addonContent' => << [ + \Psr\Log\NullLogger::class => ['null'], + ], + ]; + EOF, 'assertStrategies' => [ [LoggerInterface::class, NullLogger::class, ''], [LoggerInterface::class, NullLogger::class, 'null'], @@ -104,19 +121,23 @@ EOF, // This should work because unique name convention is part of the instance manager logic, not of the file-infrastructure layer 'withAddonsDoubleNamed' => [ 'content' => << [ - \Psr\Log\NullLogger::class => [''], - ], -]; -EOF, - 'addonsArray' => [ - \Psr\Log\LoggerInterface::class => [ - \Psr\Log\NullLogger::class => [''], - ], - ], + [ + \Psr\Log\NullLogger::class => [''], + ], + ]; + EOF, + 'addonContent' => << [ + \Psr\Log\NullLogger::class => [''], + ], + ]; + EOF, 'assertStrategies' => [ [LoggerInterface::class, NullLogger::class, ''], [LoggerInterface::class, NullLogger::class, ''], @@ -128,16 +149,20 @@ EOF, /** * @dataProvider dataHooks */ - public function testSetupHooks(string $content, array $addonsArray, array $assertStrategies) + public function testSetupHooks(string $content, string $addonContent, array $assertStrategies) { vfsStream::newFile(StrategiesFileManager::STATIC_DIR . '/' . StrategiesFileManager::CONFIG_NAME . '.config.php') ->withContent($content) ->at($this->root); - $addonLoader = \Mockery::mock(ICanLoadAddons::class); - $addonLoader->shouldReceive('getActiveAddonConfig')->andReturn($addonsArray)->once(); + vfsStream::newFile('addon/testaddon/' . StrategiesFileManager::STATIC_DIR . '/' . StrategiesFileManager::CONFIG_NAME . '.config.php') + ->withContent($addonContent) + ->at($this->root); + + $config = \Mockery::mock(IManageConfigValues::class); + $config->shouldReceive('get')->andReturn(['testaddon' => ['admin' => false]])->once(); - $hookFileManager = new StrategiesFileManager($this->root->url(), $addonLoader); + $hookFileManager = new StrategiesFileManager($this->root->url(), $config); $instanceManager = \Mockery::mock(ICanRegisterStrategies::class); foreach ($assertStrategies as $assertStrategy) { @@ -155,9 +180,9 @@ EOF, */ public function testMissingStrategiesFile() { - $addonLoader = \Mockery::mock(ICanLoadAddons::class); + $config = \Mockery::mock(IManageConfigValues::class); $instanceManager = \Mockery::mock(ICanRegisterStrategies::class); - $hookFileManager = new StrategiesFileManager($this->root->url(), $addonLoader); + $hookFileManager = new StrategiesFileManager($this->root->url(), $config); self::expectException(HookConfigException::class); self::expectExceptionMessage(sprintf('config file %s does not exist.', @@ -171,9 +196,9 @@ EOF, */ public function testWrongStrategiesFile() { - $addonLoader = \Mockery::mock(ICanLoadAddons::class); + $config = \Mockery::mock(IManageConfigValues::class); $instanceManager = \Mockery::mock(ICanRegisterStrategies::class); - $hookFileManager = new StrategiesFileManager($this->root->url(), $addonLoader); + $hookFileManager = new StrategiesFileManager($this->root->url(), $config); vfsStream::newFile(StrategiesFileManager::STATIC_DIR . '/' . StrategiesFileManager::CONFIG_NAME . '.config.php') ->withContent("