Completed
Push — master ( 830b42...366775 )
by Jonathan
10s
created

ChangelogConfigTest::testGetLabels()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace ChangelogGenerator\Tests;
6
7
use ChangelogGenerator\ChangelogConfig;
8
use PHPUnit\Framework\TestCase;
9
10
final class ChangelogConfigTest extends TestCase
11
{
12
    /** @var string */
13
    private $user;
14
15
    /** @var string */
16
    private $repository;
17
18
    /** @var string */
19
    private $milestone;
20
21
    /** @var string[] */
22
    private $labels = [];
23
24
    /** @var ChangelogConfig */
25
    private $changelogConfig;
26
27
    public function testGetSetUser() : void
28
    {
29
        self::assertEquals($this->user, $this->changelogConfig->getUser());
30
31
        $this->changelogConfig->setUser('romanb');
32
33
        self::assertEquals('romanb', $this->changelogConfig->getUser());
34
    }
35
36
    public function testGetSetRepository() : void
37
    {
38
        self::assertEquals($this->repository, $this->changelogConfig->getRepository());
39
40
        $this->changelogConfig->setRepository('purl');
41
42
        self::assertEquals('purl', $this->changelogConfig->getRepository());
43
    }
44
45
    public function testGetSetMilestone() : void
46
    {
47
        self::assertEquals($this->milestone, $this->changelogConfig->getMilestone());
48
49
        $this->changelogConfig->setMilestone('1.0');
50
51
        self::assertEquals('1.0', $this->changelogConfig->getMilestone());
52
    }
53
54
    public function testGetSetLabels() : void
55
    {
56
        self::assertEquals($this->labels, $this->changelogConfig->getLabels());
57
58
        $this->changelogConfig->setLabels(['Improvement']);
59
60
        self::assertEquals(['Improvement'], $this->changelogConfig->getLabels());
61
    }
62
63
    public function testGetMilestoneIssuesUrl() : void
64
    {
65
        self::assertEquals('https://api.github.com/search/issues?q=milestone%3A%221.0%22+repo%3Ajwage%2Fchangelog-generator+state%3Aclosed+label%3AEnhancement', $this->changelogConfig->getMilestoneIssuesUrl('Enhancement'));
66
    }
67
68
    public function testGetMilestoneIssuesUrlNoLabel() : void
69
    {
70
        self::assertEquals('https://api.github.com/search/issues?q=milestone%3A%221.0%22+repo%3Ajwage%2Fchangelog-generator+state%3Aclosed', $this->changelogConfig->getMilestoneIssuesUrl(''));
71
    }
72
73
    protected function setUp() : void
74
    {
75
        $this->user       = 'jwage';
76
        $this->repository = 'changelog-generator';
77
        $this->milestone  = '1.0';
78
        $this->labels     = ['Enhancement', 'Bug'];
79
80
        $this->changelogConfig = new ChangelogConfig(
81
            $this->user,
82
            $this->repository,
83
            $this->milestone,
84
            $this->labels
85
        );
86
    }
87
}
88