Completed
Push — master ( 065cdd...96faaf )
by Alejandro
09:28
created

ImageFactoryTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 48
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 48
rs 10
wmc 3
lcom 1
cbo 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 4 1
A noPageIsSetWhenOptionsAreNotProvided() 0 13 1
A aPageIsSetWhenOptionsIncludeTheUrl() 0 15 1
1
<?php
2
namespace ShlinkioTest\Shlink\Common\Image;
3
4
use mikehaertl\wkhtmlto\Image;
5
use PHPUnit_Framework_TestCase as TestCase;
6
use Shlinkio\Shlink\Common\Image\ImageFactory;
7
use Zend\ServiceManager\ServiceManager;
8
9
class ImageFactoryTest extends TestCase
10
{
11
    /**
12
     * @var ImageFactory
13
     */
14
    protected $factory;
15
16
    public function setUp()
17
    {
18
        $this->factory = new ImageFactory();
19
    }
20
21
    /**
22
     * @test
23
     */
24
    public function noPageIsSetWhenOptionsAreNotProvided()
25
    {
26
        /** @var Image $image */
27
        $image = $this->factory->__invoke(new ServiceManager(['services' => [
28
            'config' => ['phpwkhtmltopdf' => []],
29
        ]]), '');
30
        $this->assertInstanceOf(Image::class, $image);
31
32
        $ref = new \ReflectionObject($image);
33
        $page = $ref->getProperty('_page');
34
        $page->setAccessible(true);
35
        $this->assertNull($page->getValue($image));
36
    }
37
38
    /**
39
     * @test
40
     */
41
    public function aPageIsSetWhenOptionsIncludeTheUrl()
42
    {
43
        $expectedPage = 'foo/bar.html';
44
45
        /** @var Image $image */
46
        $image = $this->factory->__invoke(new ServiceManager(['services' => [
47
            'config' => ['phpwkhtmltopdf' => []],
48
        ]]), '', ['url' => $expectedPage]);
49
        $this->assertInstanceOf(Image::class, $image);
50
51
        $ref = new \ReflectionObject($image);
52
        $page = $ref->getProperty('_page');
53
        $page->setAccessible(true);
54
        $this->assertEquals($expectedPage, $page->getValue($image));
55
    }
56
}
57