Completed
Pull Request — master (#203)
by Alister
09:00
created

FeedBuilderTest::setUp()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 11
rs 9.9
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace Debril\RssAtomBundle\Tests\Response;
4
5
use Debril\RssAtomBundle\Request\ModifiedSince;
6
use Debril\RssAtomBundle\Response\FeedBuilder;
7
use Debril\RssAtomBundle\Response\HeadersBuilder;
8
use FeedIo\Factory;
9
use FeedIo\Feed;
10
use FeedIo\FeedIo;
11
use PHPUnit\Framework\TestCase;
12
use Psr\Log\NullLogger;
13
use Symfony\Component\HttpFoundation\Request;
14
use Symfony\Component\HttpFoundation\RequestStack;
15
16
class FeedBuilderTest extends TestCase
17
{
18
19
    /**
20
     * @var FeedIo
21
     */
22
    private $feedIo;
23
24
    /**
25
     * @var HeadersBuilder
26
     */
27
    private $headersBuilder;
28
29
    /**
30
     * @var ModifiedSince
31
     */
32
    private $modifiedSince;
33
34
    public function setUp()
35
    {
36
        $stack = new RequestStack();
37
        $request = new Request();
38
39
        $stack->push($request);
40
        $this->feedIo = Factory::create()->getFeedIo();
41
        $this->headersBuilder = new HeadersBuilder();
42
        $this->modifiedSince = new ModifiedSince($stack, new NullLogger());
43
        parent::setUp();
44
    }
45
46
    public function testGetResponse()
47
    {
48
        $feedBuilder = new FeedBuilder($this->feedIo, $this->headersBuilder, $this->modifiedSince);
49
50
        $response = $feedBuilder->getResponse('atom', $this->getFeed());
51
        $this->assertEquals('200', $response->getStatusCode());
52
    }
53
54
    private function getFeed(): Feed
55
    {
56
        $feed = new Feed();
57
        $feed->setTitle('rss-atom');
58
        $feed->setPublicId('http://public-id');
59
        $feed->setLink('http://link');
60
        $feed->setLastModified(new \DateTime('2018-06-01'));
61
62
        $item = new Feed\Item();
63
        $item->setLastModified(new \DateTime('2018-06-01'));
64
        $item->setDescription("lorem ipsum");
65
        $item->setTitle('title');
66
67
        $feed->add($item);
68
69
        return $feed;
70
    }
71
}
72