Completed
Branch master (a9e65f)
by Adam
03:43
created

QueueTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 48
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 1
Bugs 0 Features 1
Metric Value
wmc 2
c 1
b 0
f 1
lcom 1
cbo 3
dl 0
loc 48
rs 10
1
<?php
2
3
namespace Equip\Queue;
4
5
use Equip\Queue\Driver\DriverInterface;
6
use Equip\Queue\Serializer\MessageSerializerInterface;
7
8
class QueueTest extends TestCase
9
{
10
    /**
11
     * @var DriverInterface
12
     */
13
    private $driver;
14
15
    /**
16
     * @var MessageSerializerInterface
17
     */
18
    private $serializer;
19
20
    /**
21
     * @var Queue
22
     */
23
    private $queue;
24
25
    protected function setUp()
26
    {
27
        $this->driver = $this->createMock(DriverInterface::class);
28
        $this->serializer = $this->createMock(MessageSerializerInterface::class);
29
        $this->queue = new Queue($this->driver, $this->serializer);
30
    }
31
32
    public function testAdd()
33
    {
34
        $queue = 'queue';
35
        $handler = 'handler';
36
        $data = ['foo' => 'bar'];
37
38
        $serialized_message = json_encode(compact('queue', 'handler', 'data'));
39
        $message = new Message($queue, $handler, $data);
40
41
        $this->driver
42
            ->expects($this->once())
43
            ->method('enqueue')
44
            ->with('queue', $serialized_message)
45
            ->willReturn(true);
46
47
        $this->serializer
48
            ->expects($this->once())
49
            ->method('serialize')
50
            ->with($message)
51
            ->willReturn($serialized_message);
52
53
        $this->assertTrue($this->queue->add($message));
54
    }
55
}
56