Completed
Push — master ( 70d37a...318aba )
by Guillaume
02:30
created

RenderManagerTest::testRenderWithoutApi()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 7
rs 9.4285
c 1
b 0
f 0
cc 1
eloc 5
nc 1
nop 0
1
<?php
2
3
namespace Starkerxp\CampagneBundle\Tests\Render;
4
5
6
use Starkerxp\CampagneBundle\Render\RenderManager;
7
8
class RenderManagerTest extends \Starkerxp\StructureBundle\Tests\WebTest
9
{
10
11
    /** @var  RenderManager */
12
    protected $renderService;
13
14
    public function setUp()
15
    {
16
        parent::setUp();
17
        $this->renderService = $this->getContainer()->get('starkerxp_campagne.manager.render');
18
19
20
    }
21
22
    public function dataProvider()
23
    {
24
        $export = [
25
            'lien mirroir'        => [
26
                '[{@mirror}]',
27
                [],
28
                '',
29
            ],
30
            'pixel'               => [
31
                '[{@pixel}]',
32
                [],
33
                '',
34
            ],
35
            'lien desinscription' => [
36
                '<a data-id="unsub" target="__blank" href="http://google.fr" style="color:black;">Mon lien</a>',
37
                [],
38
                "Mon lien (http://google.fr)",
39
            ],
40
            'lien clickable'      => [
41
                '<a data-id="click" target="__blank" href="http://google.fr" style="color:black;">Mon lien</a>',
42
                [],
43
                "Mon lien (http://google.fr)",
44
            ],
45
        ];
46
47
        return $export;
48
    }
49
50
    /**
51
     * @group campagne
52
     * @group render
53
     * @group renderManager
54
     *
55
     * @dataProvider dataProvider
56
     */
57
    public function testRender($message, $params, $expected)
58
    {
59
        $this->renderService->setApi("");
60
        $this->renderService->setVersion("txt");
61
        $this->renderService->setContenu($message);
62
        $this->renderService->setData($params);
63
        $actual = $this->renderService->render();
64
        $this->assertEquals($expected, $actual);
65
    }
66
67
    /**
68
     * @group campagne
69
     * @group render
70
     * @group renderManager
71
     *
72
     * @expectedException \Starkerxp\CampagneBundle\Render\Exception\ApiNotDefinedException
73
     */
74
    public function testRenderWithoutApi()
75
    {
76
        $this->renderService->setVersion("txt");
77
        $this->renderService->setContenu("Mon message");
78
        $this->renderService->setData([]);
79
        $this->renderService->render();
80
    }
81
82
    /**
83
     * @group campagne
84
     * @group render
85
     * @group renderManager
86
     *
87
     * @expectedException \Starkerxp\CampagneBundle\Render\Exception\VersionNotDefinedException
88
     */
89
    public function testRenderWithoutVersion()
90
    {
91
        $this->renderService->setApi("twig");
92
        $this->renderService->setContenu("Mon message");
93
        $this->renderService->setData([]);
94
        $this->renderService->render();
95
    }
96
}
97