Add MinkParameters support
This commit is contained in:
@@ -7,6 +7,7 @@ namespace FriendsOfBehat\SymfonyExtension\Bundle\DependencyInjection;
|
||||
use Behat\Behat\Context\Context;
|
||||
use Behat\Mink\Mink;
|
||||
use Behat\Mink\Session;
|
||||
use FriendsOfBehat\SymfonyExtension\Mink\MinkParameters;
|
||||
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||||
@@ -58,5 +59,13 @@ final class FriendsOfBehatSymfonyExtensionExtension extends Extension implements
|
||||
|
||||
$container->setDefinition('behat.mink.default_session', $minkDefaultSessionDefinition);
|
||||
$container->setAlias(Session::class, 'behat.mink.default_session');
|
||||
|
||||
$minkParametersDefinition = new Definition(MinkParameters::class, ['sylius_symfony_extension.mink_parameters']);
|
||||
$minkParametersDefinition->setPublic(true);
|
||||
$minkParametersDefinition->setLazy(true);
|
||||
$minkParametersDefinition->setFactory([new Reference('behat.service_container'), 'get']);
|
||||
|
||||
$container->setDefinition('behat.mink.parameters', $minkParametersDefinition);
|
||||
$container->setAlias(MinkParameters::class, 'behat.mink.parameters');
|
||||
}
|
||||
}
|
||||
|
||||
27
src/Mink/MinkParameters.php
Normal file
27
src/Mink/MinkParameters.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace FriendsOfBehat\SymfonyExtension\Mink;
|
||||
|
||||
/** @final */
|
||||
class MinkParameters
|
||||
{
|
||||
/** @var array */
|
||||
private $minkParameters;
|
||||
|
||||
public function __construct(array $minkParameters)
|
||||
{
|
||||
$this->minkParameters = $minkParameters;
|
||||
}
|
||||
|
||||
public function all(): array
|
||||
{
|
||||
return $this->minkParameters;
|
||||
}
|
||||
|
||||
public function get(string $parameter)
|
||||
{
|
||||
return $this->minkParameters[$parameter] ?? null;
|
||||
}
|
||||
}
|
||||
@@ -13,9 +13,11 @@ use Behat\Testwork\ServiceContainer\ExtensionManager;
|
||||
use FriendsOfBehat\SymfonyExtension\Context\Environment\Handler\ContextServiceEnvironmentHandler;
|
||||
use FriendsOfBehat\SymfonyExtension\Driver\Factory\SymfonyDriverFactory;
|
||||
use FriendsOfBehat\SymfonyExtension\Listener\KernelRebooter;
|
||||
use FriendsOfBehat\SymfonyExtension\Mink\MinkParameters;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\DependencyInjection\Definition;
|
||||
use Symfony\Component\DependencyInjection\Parameter;
|
||||
use Symfony\Component\DependencyInjection\Reference;
|
||||
use Symfony\Component\Dotenv\Dotenv;
|
||||
|
||||
@@ -82,6 +84,11 @@ final class SymfonyExtension implements Extension
|
||||
$this->loadEnvironmentHandler($container);
|
||||
|
||||
$this->loadKernelRebooter($container);
|
||||
|
||||
$minkParametersDefinition = new Definition(MinkParameters::class, [new Parameter('mink.parameters')]);
|
||||
$minkParametersDefinition->setPublic(true);
|
||||
|
||||
$container->setDefinition('sylius_symfony_extension.mink_parameters', $minkParametersDefinition);
|
||||
}
|
||||
|
||||
public function process(ContainerBuilder $container): void
|
||||
|
||||
Reference in New Issue
Block a user