diff --git a/spec/Behat/MinkExtension/Listener/SessionsListenerSpec.php b/spec/Behat/MinkExtension/Listener/SessionsListenerSpec.php index 831d19a..389beca 100644 --- a/spec/Behat/MinkExtension/Listener/SessionsListenerSpec.php +++ b/spec/Behat/MinkExtension/Listener/SessionsListenerSpec.php @@ -83,6 +83,15 @@ class SessionsListenerSpec extends ObjectBehavior $this->prepareDefaultMinkSession($event); } + function it_stops_the_sessions_for_insulated_features($event, $mink, $feature) + { + $feature->hasTag('insulated')->willReturn(true); + $mink->stopSessions()->shouldBeCalled(); + $mink->setDefaultSessionName('goutte')->shouldBeCalled(); + + $this->prepareDefaultMinkSession($event); + } + function it_stops_the_sessions_at_the_end_of_the_exercise($mink) { $mink->stopSessions()->shouldBeCalled(); diff --git a/src/Behat/MinkExtension/Listener/SessionsListener.php b/src/Behat/MinkExtension/Listener/SessionsListener.php index d20e617..af707dc 100644 --- a/src/Behat/MinkExtension/Listener/SessionsListener.php +++ b/src/Behat/MinkExtension/Listener/SessionsListener.php @@ -76,7 +76,7 @@ class SessionsListener implements EventSubscriberInterface } } - if ($scenario->hasTag('insulated')) { + if ($scenario->hasTag('insulated') || $feature->hasTag('insulated')) { $this->mink->stopSessions(); } else { $this->mink->resetSessions();