Passed
Branch master (e8fd46)
by Alexey
03:15
created

EventDispatcherSpec   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 17
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 1
Bugs 1 Features 0
Metric Value
dl 0
loc 17
rs 10
c 1
b 1
f 0
wmc 2
lcom 0
cbo 3
1
<?php
2
3
namespace spec\Venta\Event;
4
5
use PhpSpec\ObjectBehavior;
6
use stub\Venta\Event\StubEvent;
7
use stub\Venta\Event\StubEventListener;
8
use Venta\Contracts\Event\EventDispatcher as EventDispatcherContract;
9
use Venta\Event\EventDispatcher;
10
11
class EventDispatcherSpec extends ObjectBehavior
12
{
13
    function it_can_dispatch_event(StubEventListener $eventListener, StubEvent $event)
14
    {
15
        $event->isPropagationStopped()->willReturn(false);
16
        $event = $event->getWrappedObject();
17
        $this->addListener(get_class($event), [$eventListener, 'handle']);
18
        $this->dispatch($event);
19
        $eventListener->handle($event)->shouldHaveBeenCalled();
20
    }
21
22
    function it_is_initializable()
23
    {
24
        $this->shouldHaveType(EventDispatcher::class);
25
        $this->shouldImplement(EventDispatcherContract::class);
26
    }
27
}
28