Completed
Push — master ( 03ffe6...2c1c5a )
by Will
11s
created

AdapterExceptionTest::testGetDebug()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
3
/**
4
 * This file is part of graze/queue.
5
 *
6
 * Copyright (c) 2015 Nature Delivered Ltd. <https://www.graze.com>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 *
11
 * @license https://github.com/graze/queue/blob/master/LICENSE MIT
12
 *
13
 * @link    https://github.com/graze/queue
14
 */
15
16
namespace Graze\Queue\Adapter\Exception;
17
18
use Exception;
19
use Graze\Queue\Adapter\AdapterInterface;
20
use Graze\Queue\Adapter\NamedInterface;
21
use Graze\Queue\Message\MessageInterface;
22
use Mockery as m;
23
use Mockery\MockInterface;
24
use PHPUnit_Framework_TestCase as TestCase;
25
26
class AdapterExceptionTest extends TestCase
27
{
28
    /** @var string */
29
    private $queueName;
30
    /** @var array */
31
    private $debug;
32
    /** @var AdapterInterface|NamedInterface|MockInterface */
33
    private $adapter;
34
    /** @var MessageInterface[]|MockInterface[] */
35
    private $messages;
36
    /** @var Exception */
37
    private $previous;
38
    /** @var AdapterException */
39
    private $exception;
40
41
    public function setUp()
42
    {
43
        $this->queueName = 'foobar';
44
        $this->debug = ['foo' => 'bar'];
45
46
        $this->adapter = m::mock(AdapterInterface::class, NamedInterface::class);
47
        $this->adapter->shouldReceive('getQueueName')->andReturn($this->queueName);
48
49
        $a = m::mock('Graze\Queue\Message\MessageInterface');
0 ignored issues
show
Comprehensibility introduced by
Avoid variables with short names like $a. Configured minimum length is 2.

Short variable names may make your code harder to understand. Variable names should be self-descriptive. This check looks for variable names who are shorter than a configured minimum.

Loading history...
50
        $b = m::mock('Graze\Queue\Message\MessageInterface');
0 ignored issues
show
Comprehensibility introduced by
Avoid variables with short names like $b. Configured minimum length is 2.

Short variable names may make your code harder to understand. Variable names should be self-descriptive. This check looks for variable names who are shorter than a configured minimum.

Loading history...
51
        $c = m::mock('Graze\Queue\Message\MessageInterface');
0 ignored issues
show
Comprehensibility introduced by
Avoid variables with short names like $c. Configured minimum length is 2.

Short variable names may make your code harder to understand. Variable names should be self-descriptive. This check looks for variable names who are shorter than a configured minimum.

Loading history...
52
        $this->messages = [$a, $b, $c];
53
54
        $this->previous = new Exception();
55
56
        $this->exception = new AdapterException('foo', $this->adapter, $this->messages, $this->debug, $this->previous);
0 ignored issues
show
Documentation introduced by
$this->messages is of type array<integer,object<Moc...kery\\MockInterface>"}>, but the function expects a array<integer,object<Gra...sage\MessageInterface>>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
57
    }
58
59
    public function testInterface()
60
    {
61
        assertThat($this->exception, is(anInstanceOf('RuntimeException')));
62
    }
63
64
    public function testGetAdapter()
65
    {
66
        assertThat($this->exception->getAdapter(), is(identicalTo($this->adapter)));
67
    }
68
69
    public function testGetDebug()
70
    {
71
        assertThat($this->exception->getDebug(), is(identicalTo($this->debug)));
72
    }
73
74
    public function testGetMessages()
75
    {
76
        assertThat($this->exception->getMessages(), is(identicalTo($this->messages)));
77
    }
78
79
    public function testGetPrevious()
80
    {
81
        assertThat($this->exception->getPrevious(), is(identicalTo($this->previous)));
82
    }
83
84
    public function testGetQueueName()
85
    {
86
        assertThat($this->exception->getQueueName(), is(identicalTo($this->queueName)));
87
    }
88
}
89