Completed
Push — master ( 109027...065f8e )
by Jonathan
11s
created

IssueTest::testLinkedIssue()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
nc 1
nop 0
dl 0
loc 9
rs 9.6666
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace ChangelogGenerator\Tests;
6
7
use ChangelogGenerator\Issue;
8
use PHPUnit\Framework\TestCase;
9
10
final class IssueTest extends TestCase
11
{
12
    /** @var Issue */
13
    private $issue;
14
15
    public function testNumber() : void
16
    {
17
        self::assertEquals(1, $this->issue->getNumber());
18
    }
19
20
    public function testGetTitle() : void
21
    {
22
        self::assertEquals('Test Title', $this->issue->getTitle());
23
    }
24
25
    public function testGetBody() : void
26
    {
27
        self::assertEquals('Test Body', $this->issue->getBody());
28
    }
29
30
    public function testGetUrl() : void
31
    {
32
        self::assertEquals('https://www.google.com', $this->issue->getUrl());
33
    }
34
35
    public function testGetUser() : void
36
    {
37
        self::assertEquals('jwage', $this->issue->getUser());
38
    }
39
40
    public function testGetLabels() : void
41
    {
42
        self::assertEquals(['Enhancement'], $this->issue->getLabels());
43
    }
44
45
    public function testIsPullRequest() : void
46
    {
47
        $issue = new Issue(
48
            1,
49
            'Test Title',
50
            'Test Body',
51
            'https://www.google.com',
52
            'jwage',
53
            ['Enhancement'],
54
            false
55
        );
56
57
        self::assertFalse($issue->isPullRequest());
58
59
        $issue = new Issue(
60
            1,
61
            'Test Title',
62
            'Test Body',
63
            'https://www.google.com',
64
            'jwage',
65
            ['Enhancement'],
66
            true
67
        );
68
69
        self::assertTrue($issue->isPullRequest());
70
    }
71
72
    public function testLinkedPullRequest() : void
73
    {
74
        self::assertNull($this->issue->getLinkedPullRequest());
75
76
        $linkedPullRequest = $this->createMock(Issue::class);
77
78
        $this->issue->setLinkedPullRequest($linkedPullRequest);
79
80
        self::assertSame($linkedPullRequest, $this->issue->getLinkedPullRequest());
81
    }
82
83
    public function testLinkedIssue() : void
84
    {
85
        self::assertNull($this->issue->getLinkedIssue());
86
87
        $linkedIssue = $this->createMock(Issue::class);
88
89
        $this->issue->setLinkedIssue($linkedIssue);
90
91
        self::assertSame($linkedIssue, $this->issue->getLinkedIssue());
92
    }
93
94
    public function testRender() : void
95
    {
96
        self::assertEquals(' - [1: Test Title](https://www.google.com) thanks to @jwage', $this->issue->render());
97
    }
98
99
    public function testRenderMultiContributor() : void
100
    {
101
        $pullRequest = new Issue(
102
            2,
103
            'Test Title',
104
            'Test Body Fixes #1',
105
            'https://www.google.com',
106
            'Ocramius',
107
            ['Enhancement'],
108
            true
109
        );
110
111
        $pullRequest->setLinkedIssue($this->issue);
112
113
        self::assertEquals(' - [2: Test Title](https://www.google.com) thanks to @Ocramius and @jwage', $pullRequest->render());
114
    }
115
116
    protected function setUp() : void
117
    {
118
        $this->issue = new Issue(
119
            1,
120
            'Test Title',
121
            'Test Body',
122
            'https://www.google.com',
123
            'jwage',
124
            ['Enhancement'],
125
            false
126
        );
127
    }
128
}
129