Security update for permissions_by_term
[yaffs-website] / vendor / drupal / drupal-extension / spec / Drupal / DrupalExtension / Listener / DriverListenerSpec.php
diff --git a/vendor/drupal/drupal-extension/spec/Drupal/DrupalExtension/Listener/DriverListenerSpec.php b/vendor/drupal/drupal-extension/spec/Drupal/DrupalExtension/Listener/DriverListenerSpec.php
new file mode 100644 (file)
index 0000000..d115a4d
--- /dev/null
@@ -0,0 +1,61 @@
+<?php
+
+namespace spec\Drupal\DrupalExtension\Listener;
+
+use Behat\Behat\EventDispatcher\Event\ScenarioTested;
+use Behat\Gherkin\Node\FeatureNode;
+use Behat\Gherkin\Node\ScenarioNode;
+use Behat\Testwork\Environment\Environment;
+use Behat\Testwork\Suite\Suite;
+
+use Drupal\DrupalDriverManager;
+
+use PhpSpec\ObjectBehavior;
+use Prophecy\Argument;
+
+class DriverListenerSpec extends ObjectBehavior
+{
+    function let(DrupalDriverManager $drupal, ScenarioTested $event, FeatureNode $feature, ScenarioNode $scenario, Suite $suite, Environment $environment)
+    {
+        $parameters = array(
+            'default_driver' => 'blackbox',
+            'api_driver' => 'drupal_driver',
+        );
+        $this->beConstructedWith($drupal, $parameters);
+
+        $event->getFeature()->willReturn($feature);
+        $event->getScenario()->willReturn($scenario);
+        $event->getEnvironment()->willReturn($environment);
+
+        $feature->getTags()->willReturn(array('api'));
+        $feature->hasTag('api')->willReturn(TRUE);
+
+        $scenario->getTags()->willReturn(array());
+    }
+
+    function it_should_be_an_event_subscriber()
+    {
+        $this->shouldHaveType('Symfony\Component\EventDispatcher\EventSubscriberInterface');
+    }
+
+    function it_resets_the_default_drupal_driver_before_scenarios($event, $drupal, $environment, $feature, $scenario)
+    {
+        $drupal->setDefaultDriverName('drupal_driver')->shouldBeCalled();
+        $drupal->setEnvironment($environment)->shouldBeCalled();
+        $event->getEnvironment()->shouldBeCalled();
+        $event->getFeature()->shouldBeCalled();
+        $event->getScenario()->shouldBeCalled();
+        $feature->getTags()->shouldBeCalled();
+        $scenario->getTags()->shouldBeCalled();
+        $this->prepareDefaultDrupalDriver($event);
+    }
+
+    function it_subscribes_to_scenarios_and_outlines()
+    {
+        $subscribedEvents = array(
+            'tester.scenario_tested.before' => array('prepareDefaultDrupalDriver', 11),
+            'tester.example_tested.before' => array('prepareDefaultDrupalDriver', 11),
+        );
+        $this->getSubscribedEvents()->shouldReturn($subscribedEvents);;
+    }
+}