Passed
Push — master ( 1d3a89...3690f8 )
by Albin
01:05
created

testServiceIsAvailableOutOfTheBox()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 21
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 21
rs 9.3142
c 0
b 0
f 0
cc 1
eloc 12
nc 1
nop 0
1
<?php
2
3
namespace Knp\Bundle\SnappyBundle\Tests;
4
5
use Symfony\Component\Filesystem\Filesystem;
6
7
class FunctionalTest extends \PHPUnit_Framework_TestCase
8
{
9
    /** @var TestKernel */
10
    private $kernel;
11
12
    /** @var Filesystem */
13
    private $filesystem;
14
15
    public function setUp()
16
    {
17
        $this->kernel = new TestKernel(uniqid(), false);
18
19
        $this->filesystem = new Filesystem();
20
        $this->filesystem->mkdir($this->kernel->getCacheDir());
21
    }
22
23
    public function tearDown()
24
    {
25
        $this->filesystem->remove($this->kernel->getCacheDir());
26
    }
27
28
    public function testServiceIsAvailableOutOfTheBox()
29
    {
30
        $this->kernel->setConfigurationFilename(__DIR__ . '/fixtures/config/out_of_the_box.yml');
31
        $this->kernel->boot();
32
33
        $container = $this->kernel->getContainer();
34
35
        $this->assertTrue($container->has('knp_snappy.pdf'), 'The pdf service is available.');
36
37
        $pdf = $container->get('knp_snappy.pdf');
38
39
        $this->assertInstanceof('Knp\Snappy\Pdf', $pdf);
40
        $this->assertEquals('wkhtmltopdf', $pdf->getBinary());
41
42
        $this->assertTrue($container->has('knp_snappy.image'), 'The image service is available.');
43
44
        $image = $container->get('knp_snappy.image');
45
46
        $this->assertInstanceof('Knp\Snappy\Image', $image);
47
        $this->assertEquals('wkhtmltoimage', $image->getBinary());
48
    }
49
50
    public function testChangeBinaries()
51
    {
52
        $this->kernel->setConfigurationFilename(__DIR__ . '/fixtures/config/change_binaries.yml');
53
        $this->kernel->boot();
54
55
        $container = $this->kernel->getContainer();
56
57
        $this->assertTrue($container->has('knp_snappy.pdf'));
58
59
        $pdf = $container->get('knp_snappy.pdf');
60
61
        $this->assertEquals('/custom/binary/for/wkhtmltopdf', $pdf->getBinary());
62
63
        $this->assertTrue($container->has('knp_snappy.image'));
64
65
        $image = $container->get('knp_snappy.image');
66
67
        $this->assertEquals('/custom/binary/for/wkhtmltoimage', $image->getBinary());
68
    }
69
70
    public function testChangeTemporaryFolder()
71
    {
72
        $this->kernel->setConfigurationFilename(__DIR__ . '/fixtures/config/change_temporary_folder.yml');
73
        $this->kernel->boot();
74
75
        $container = $this->kernel->getContainer();
76
77
        $pdf = $container->get('knp_snappy.pdf');
78
        $this->assertEquals('/path/to/the/tmp', $pdf->getTemporaryFolder());
79
80
        $image = $container->get('knp_snappy.image');
81
        $this->assertEquals('/path/to/the/tmp', $image->getTemporaryFolder());
82
    }
83
84
    public function testDisablePdf()
85
    {
86
        $this->kernel->setConfigurationFilename(__DIR__ . '/fixtures/config/disable_pdf.yml');
87
        $this->kernel->boot();
88
89
        $container = $this->kernel->getContainer();
90
91
        $this->assertFalse($container->has('knp_snappy.pdf'), 'The pdf service is NOT available.');
92
        $this->assertTrue($container->has('knp_snappy.image'), 'The image service is available.');
93
    }
94
95
    public function testDisableImage()
96
    {
97
        $this->kernel->setConfigurationFilename(__DIR__ . '/fixtures/config/disable_image.yml');
98
        $this->kernel->boot();
99
100
        $container = $this->kernel->getContainer();
101
102
        $this->assertTrue($container->has('knp_snappy.pdf'), 'The pdf service is available.');
103
        $this->assertFalse($container->has('knp_snappy.image'), 'The image service is NOT available.');
104
    }
105
}
106