Completed
Push — master ( 58620c...f23d9f )
by Vitaliy
02:20
created

AddPriorityHeaderVisitorTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 46
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 7

Importance

Changes 0
Metric Value
wmc 3
lcom 1
cbo 7
dl 0
loc 46
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 4 1
A shouldAddHeaderForPriority() 0 13 1
A shouldNotAddHeaderForPriority() 0 10 1
1
<?php
2
3
/*
4
 * This file is part of the AppleApnPush package
5
 *
6
 * (c) Vitaliy Zhuk <[email protected]>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code
10
 */
11
12
namespace Tests\Apple\ApnPush\Protocol\Http\Visitor;
13
14
use Apple\ApnPush\Model\ApnId;
15
use Apple\ApnPush\Model\ApsData;
16
use Apple\ApnPush\Model\Message;
17
use Apple\ApnPush\Model\Priority;
18
use Apple\ApnPush\Protocol\Http\Request;
19
use Apple\ApnPush\Protocol\Http\Visitor\AddPriorityHeaderVisitor;
20
use PHPUnit\Framework\TestCase;
21
22
class AddPriorityHeaderVisitorTest extends TestCase
23
{
24
    /**
25
     * @var AddPriorityHeaderVisitor
26
     */
27
    private $visitor;
28
29
    /**
30
     * {@inheritdoc}
31
     */
32
    protected function setUp()
33
    {
34
        $this->visitor = new AddPriorityHeaderVisitor();
35
    }
36
37
    /**
38
     * @test
39
     */
40
    public function shouldAddHeaderForPriority()
41
    {
42
        $message = new Message(new ApsData(), ApnId::fromNull(), Priority::immediately());
43
        $request = new Request('https://domain.com', '{}');
44
45
        $visitedRequest = $this->visitor->visit($message, $request);
46
47
        $headers = $visitedRequest->getHeaders();
48
49
        self::assertEquals([
50
            'apns-priority' => 10
51
        ], $headers);
52
    }
53
54
    /**
55
     * @test
56
     */
57
    public function shouldNotAddHeaderForPriority()
58
    {
59
        $message = new Message(new ApsData());
60
        $request = new Request('https://domain.com', '{}');
61
62
        $visitedRequest = $this->visitor->visit($message, $request);
63
64
        $headers = $visitedRequest->getHeaders();
65
        self::assertEquals([], $headers);
66
    }
67
}
68