Passed
Pull Request — master (#57)
by Matthew
08:14
created

JobTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 50
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 5

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 5
dl 0
loc 50
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Dtc\QueueBundle\Tests\RabbitMQ;
4
5
use Dtc\QueueBundle\RabbitMQ\Job;
6
use Dtc\QueueBundle\Tests\FibonacciWorker;
7
use Dtc\QueueBundle\Tests\GetterSetterTrait;
8
use PHPUnit\Framework\TestCase;
9
10
class JobTest extends TestCase
11
{
12
    use GetterSetterTrait;
13
14
    public function testGettersSetters()
15
    {
16
        $this->runGetterSetterTests('\Dtc\QueueBundle\RabbitMQ\Job');
17
    }
18
19
    public function testToFromMessage()
20
    {
21
        $worker = new FibonacciWorker();
22
        $job = new Job($worker, false, null);
23
        $job->setArgs([1, 2, 3]);
24
        $job->setMethod('asdf');
25
        $job->setPriority(1234);
26
        $job->setId(1432);
27
        $message = $job->toMessage();
28
29
        $job2 = new Job();
30
        $priority2 = $job2->getPriority();
31
        $job2->fromMessage($message);
32
33
        self::assertEquals($job->getId(), $job2->getId());
34
        self::assertEquals($job->getMethod(), $job2->getMethod());
35
        self::assertEquals($job->getWorkerName(), $job2->getWorkerName());
36
        self::assertEquals($job->getArgs(), $job2->getArgs());
37
        self::assertEquals($job->getPriority(), $job2->getPriority());
38
39
        $worker = new FibonacciWorker();
40
        $job = new Job($worker, false, null);
41
        $job->setArgs([1, 2, 3]);
42
        $job->setMethod('asdf');
43
        $job->setPriority(1234);
44
        $job->setId(4213);
45
        $date = \Dtc\QueueBundle\Util\Util::getMicrotimeDateTime();
46
        $job->setExpiresAt($date);
47
        $message = $job->toMessage();
48
49
        $job2 = new Job();
50
        $job2->fromMessage($message);
51
52
        self::assertEquals($job->getId(), $job2->getId());
53
        self::assertEquals($job->getMethod(), $job2->getMethod());
54
        self::assertEquals($job->getWorkerName(), $job2->getWorkerName());
55
        self::assertEquals($job->getArgs(), $job2->getArgs());
56
        self::assertEquals($job->getPriority(), $job2->getPriority());
57
        self::assertEquals($job->getExpiresAt(), $job2->getExpiresAt());
58
    }
59
}
60