Completed
Push — master ( 7fae80...8ffdf8 )
by Matthew
07:25
created

EventDispatcherTest   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 5

Importance

Changes 0
Metric Value
wmc 1
lcom 1
cbo 5
dl 0
loc 36
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
B testEventDispatcher() 0 33 1
1
<?php
2
3
namespace Dtc\QueueBundle\Tests\EventDispatcher;
4
5
use Dtc\QueueBundle\EventDispatcher\Event;
6
use Dtc\QueueBundle\EventDispatcher\EventDispatcher;
7
use Dtc\QueueBundle\Model\Job;
8
use PHPUnit\Framework\TestCase;
9
10
class EventDispatcherTest extends TestCase
11
{
12
    public function testEventDispatcher()
13
    {
14
        $eventDispatcher = new EventDispatcher();
15
        $eventSubscriber = new StubEventSubscriber();
16
17
        self::assertFalse($eventDispatcher->hasListeners(Event::POST_JOB));
18
        self::assertFalse($eventDispatcher->hasListeners(Event::PRE_JOB));
19
20
        $eventDispatcher->addSubscriber($eventSubscriber);
21
        self::assertTrue($eventDispatcher->hasListeners(Event::POST_JOB));
22
        self::assertTrue($eventDispatcher->hasListeners(Event::PRE_JOB));
23
24
        $job = new Job();
25
        $event = new Event($job);
26
27
        self::assertEmpty($eventSubscriber->getPostJobCalled());
28
        self::assertEmpty($eventSubscriber->getPreJobCalled());
29
30
        $eventDispatcher->dispatch(Event::PRE_JOB, $event);
31
32
        self::assertEmpty($eventSubscriber->getPostJobCalled());
33
        $preJobCalled = $eventSubscriber->getPreJobCalled();
34
        self::assertNotEmpty($preJobCalled);
35
        $dispatchedEvent = $preJobCalled[0];
36
        self::assertEquals($event, $dispatchedEvent);
37
38
        $eventDispatcher->dispatch(Event::POST_JOB, $event);
39
40
        $postJobCalled = $eventSubscriber->getPostJobCalled();
41
        self::assertNotEmpty($postJobCalled);
42
        $dispatchedEvent = $postJobCalled[0];
43
        self::assertEquals($event, $dispatchedEvent);
44
    }
45
}
46