Completed
Push — master ( cf6f30...545cd2 )
by Yo
02:19
created

RebootKernelSubscriber::reset()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 6
rs 9.4285
c 0
b 0
f 0
ccs 4
cts 4
cp 1
cc 1
eloc 3
nc 1
nop 0
crap 1
1
<?php
2
namespace Yoanm\Behat3SymfonyExtension\Subscriber;
3
4
use Behat\Behat\EventDispatcher\Event\ExampleTested;
5
use Behat\Behat\EventDispatcher\Event\ScenarioTested;
6
use Psr\Log\LoggerInterface;
7
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
8
use Yoanm\Behat3SymfonyExtension\Client\Client;
9
10
/**
11
 * Class RebootKernelSubscriber
12
 */
13
class RebootKernelSubscriber implements EventSubscriberInterface
14
{
15
    /** @var Client */
16
    private $client;
17
    /** @var LoggerInterface */
18
    private $logger;
19
20
    /**
21
     * @param Client $client
22
     */
23 2
    public function __construct(
24
        Client $client,
25
        LoggerInterface $logger
26
    ) {
27 2
        $this->client = $client;
28 2
        $this->logger = $logger;
29 2
    }
30
31
    /**
32
     * {@inheritdoc}
33
     */
34 1
    public static function getSubscribedEvents()
35
    {
36
        return [
37 1
            ScenarioTested::BEFORE => 'reset',
38 1
            ExampleTested::BEFORE => 'reset',
39 1
        ];
40
    }
41
42 1
    public function reset()
43
    {
44
        // Resetting the client will also reboot the kernel
45 1
        $this->logger->debug('Resetting mink driver client');
46 1
        $this->client->resetClient();
47 1
    }
48
}
49