Codeception / Codeception/module-laminas

Documentation how to mock controller plugin factory

Abierto
#28 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
PHP
Estrellas
1
Forks
7
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Hello, i am trying to mock factory for controller plugin `FooPlugin`.

```
$this->getServiceLocator()->setAllowOverride( true );

$controllerPluginManager = $this->getServiceLocator()->get( 'ControllerPluginManager' );
$controllerPluginManager->setAllowOverride( true );
$controllerPluginManager->setFactory( FooPlugin::class, FooPluginTestFactory::class );
$controllerPluginManager->setAllowOverride( false );

$this->getModule( Laminas::class )->client->addServiceToContainer( 'ControllerPluginManager', $controllerPluginManager);

$this->getServiceLocator()->setAllowOverride( false );
```

i debugged internal code and see that Laminas overrides my factory `FooPluginTestFactory` to basic `FooPluginFactory`, which is provided in basic config. it occurred indside this https://github.com/Codeception/module-laminas/blob/00d6cf8ae6a10ef52b3569febf1d6277d7b3b8e1/src/Codeception/Lib/Connector/Laminas.php#L196-L205

after next line:
```
// Load modules
$serviceManager->get('ModuleManager')->loadModules();
```

do i make something wrong?
what is the suggested way to make it correctly?

thanks!

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Start with src/Codeception/Lib/Connector/Laminas.php around lines 196-205 and the service-manager setup shown in the issue. Trace what happens after ModuleManager->loadModules(), then document the supported way to mock a controller plugin factory and confirm that the guidance addresses the reported factory override.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
php
Área
documentation, testing
Tipo de issue
Documentación
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.