Security update for permissions_by_term
[yaffs-website] / vendor / drupal / drupal-extension / spec / Drupal / DrupalExtension / Listener / DriverListenerSpec.php
1 <?php
2
3 namespace spec\Drupal\DrupalExtension\Listener;
4
5 use Behat\Behat\EventDispatcher\Event\ScenarioTested;
6 use Behat\Gherkin\Node\FeatureNode;
7 use Behat\Gherkin\Node\ScenarioNode;
8 use Behat\Testwork\Environment\Environment;
9 use Behat\Testwork\Suite\Suite;
10
11 use Drupal\DrupalDriverManager;
12
13 use PhpSpec\ObjectBehavior;
14 use Prophecy\Argument;
15
16 class DriverListenerSpec extends ObjectBehavior
17 {
18     function let(DrupalDriverManager $drupal, ScenarioTested $event, FeatureNode $feature, ScenarioNode $scenario, Suite $suite, Environment $environment)
19     {
20         $parameters = array(
21             'default_driver' => 'blackbox',
22             'api_driver' => 'drupal_driver',
23         );
24         $this->beConstructedWith($drupal, $parameters);
25
26         $event->getFeature()->willReturn($feature);
27         $event->getScenario()->willReturn($scenario);
28         $event->getEnvironment()->willReturn($environment);
29
30         $feature->getTags()->willReturn(array('api'));
31         $feature->hasTag('api')->willReturn(TRUE);
32
33         $scenario->getTags()->willReturn(array());
34     }
35
36     function it_should_be_an_event_subscriber()
37     {
38         $this->shouldHaveType('Symfony\Component\EventDispatcher\EventSubscriberInterface');
39     }
40
41     function it_resets_the_default_drupal_driver_before_scenarios($event, $drupal, $environment, $feature, $scenario)
42     {
43         $drupal->setDefaultDriverName('drupal_driver')->shouldBeCalled();
44         $drupal->setEnvironment($environment)->shouldBeCalled();
45         $event->getEnvironment()->shouldBeCalled();
46         $event->getFeature()->shouldBeCalled();
47         $event->getScenario()->shouldBeCalled();
48         $feature->getTags()->shouldBeCalled();
49         $scenario->getTags()->shouldBeCalled();
50         $this->prepareDefaultDrupalDriver($event);
51     }
52
53     function it_subscribes_to_scenarios_and_outlines()
54     {
55         $subscribedEvents = array(
56             'tester.scenario_tested.before' => array('prepareDefaultDrupalDriver', 11),
57             'tester.example_tested.before' => array('prepareDefaultDrupalDriver', 11),
58         );
59         $this->getSubscribedEvents()->shouldReturn($subscribedEvents);;
60     }
61 }