Skip to content

Commit a332dcc

Browse files
committed
tweak test
1 parent 10f02e9 commit a332dcc

2 files changed

Lines changed: 40 additions & 0 deletions

File tree

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace ErrorHeroModule\Spec\Fixture;
6+
7+
use Laminas\Cache\ConfigProvider as LaminasCacheConfigProvider;
8+
use Laminas\Cache\Storage\Adapter\Filesystem\AdapterPluginManagerDelegatorFactory as FilesystemAdapterPluginManagerDelegatorFactory;
9+
use Laminas\Cache\Storage\Adapter\Memory\AdapterPluginManagerDelegatorFactory as MemoryAdapterPluginManagerDelegatorFactory;
10+
use Laminas\Cache\Storage\AdapterPluginManager;
11+
12+
final class LaminasCacheModule
13+
{
14+
/** @return array<string, mixed> */
15+
public function getConfig(): array
16+
{
17+
$provider = new LaminasCacheConfigProvider();
18+
19+
// laminas-cache exposes its ServiceManager wiring under the `dependencies` key.
20+
// Laminas MVC consumes `service_manager`, so we map it here.
21+
//
22+
// Also include the installed adapter packages' delegators so the AdapterPluginManager
23+
// knows how to create the configured adapters (e.g. Memory, Filesystem).
24+
$serviceManagerConfig = $provider->getDependencyConfig();
25+
$serviceManagerConfig['delegators'][AdapterPluginManager::class] ??= [];
26+
$serviceManagerConfig['delegators'][AdapterPluginManager::class] = array_values(array_unique(array_merge(
27+
$serviceManagerConfig['delegators'][AdapterPluginManager::class],
28+
[
29+
MemoryAdapterPluginManagerDelegatorFactory::class,
30+
FilesystemAdapterPluginManagerDelegatorFactory::class,
31+
]
32+
)));
33+
34+
return [
35+
'service_manager' => $serviceManagerConfig,
36+
];
37+
}
38+
}

spec/Integration/IntegrationViaErrorPreviewConsoleCommandWithDoctrineORMModuleSpec.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Doctrine\ORM\EntityManager;
66
use ErrorHeroModule\Command\Preview\ErrorPreviewConsoleCommand;
7+
use ErrorHeroModule\Spec\Fixture\LaminasCacheModule;
78
use Laminas\Mvc\Application;
89
use Symfony\Component\Console\Tester\CommandTester;
910

@@ -14,6 +15,7 @@
1415
$application = Application::init([
1516
'modules' => [
1617
'Laminas\Router',
18+
LaminasCacheModule::class,
1719
'DoctrineModule',
1820
'DoctrineORMModule',
1921
'ErrorHeroModule',

0 commit comments

Comments
 (0)