From e37704744c2a145523d35f5c1b3de16d7d2e5552 Mon Sep 17 00:00:00 2001 From: Kamil Kokot Date: Sat, 4 Apr 2020 14:52:04 +0200 Subject: [PATCH 1/2] Add safety check for SymfonyDriverFactory to make sure BrowserKitDriver is installed --- src/Driver/Factory/SymfonyDriverFactory.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Driver/Factory/SymfonyDriverFactory.php b/src/Driver/Factory/SymfonyDriverFactory.php index 8c8f37b..e7b0b18 100644 --- a/src/Driver/Factory/SymfonyDriverFactory.php +++ b/src/Driver/Factory/SymfonyDriverFactory.php @@ -4,6 +4,7 @@ declare(strict_types=1); namespace FriendsOfBehat\SymfonyExtension\Driver\Factory; +use Behat\Mink\Driver\BrowserKitDriver; use Behat\MinkExtension\ServiceContainer\Driver\DriverFactory; use FriendsOfBehat\SymfonyExtension\Driver\SymfonyDriver; use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition; @@ -40,6 +41,10 @@ final class SymfonyDriverFactory implements DriverFactory public function buildDriver(array $config): Definition { + if (!class_exists(BrowserKitDriver::class)) { + throw new \RuntimeException('Install "friends-of-behat/mink-browserkit-driver" (drop-in replacement for "behat/mink-browserkit-driver") in order to use the "symfony" driver.'); + } + return new Definition(SymfonyDriver::class, [ $this->kernel, '%mink.base_url%', From f08d450cdf075681cccbe6971ca40d6e9e38b067 Mon Sep 17 00:00:00 2001 From: Kamil Kokot Date: Sat, 4 Apr 2020 15:32:33 +0200 Subject: [PATCH 2/2] Document "behat.driver.service_container" service --- docs/03_mink_integration.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/03_mink_integration.md b/docs/03_mink_integration.md index ead43c5..45474de 100644 --- a/docs/03_mink_integration.md +++ b/docs/03_mink_integration.md @@ -27,7 +27,7 @@ default: ### Usage -This integration provides two services to use inside Symfony container: +This integration provides the following services to use inside Symfony container: * **`behat.mink`** (autowired by `\Behat\Mink\Mink`) - the Mink service @@ -35,3 +35,6 @@ This integration provides two services to use inside Symfony container: * **`behat.mink.parameters`** (autowired by `\FriendsOfBehat\SymfonyExtension\Mink\MinkParameters`) - an object containing the configuration parameters of `MinkExtension` (implementing `\ArrayAccess` so that it can be treated as an array) + + * **`behat.driver.service_container`** - service container used by the `symfony` Mink driver, useful for assertions based on + application state after a request has been handled