Completed
Push — master ( 1fd677...d734d1 )
by Alejandro
27s queued 11s
created

ImageFactoryTest::setUp()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 3
c 0
b 0
f 0
rs 10
cc 1
nc 1
nop 0
1
<?php
2
declare(strict_types=1);
3
4
namespace ShlinkioTest\Shlink\PreviewGenerator\Image;
5
6
use mikehaertl\wkhtmlto\Image;
7
use PHPUnit\Framework\TestCase;
8
use ReflectionObject;
9
use Shlinkio\Shlink\PreviewGenerator\Image\ImageFactory;
10
use Zend\ServiceManager\ServiceManager;
11
12
class ImageFactoryTest extends TestCase
13
{
14
    /** @var ImageFactory */
15
    private $factory;
16
17
    public function setUp(): void
18
    {
19
        $this->factory = new ImageFactory();
0 ignored issues
show
Deprecated Code introduced by
The class Shlinkio\Shlink\PreviewG...ator\Image\ImageFactory has been deprecated. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

19
        $this->factory = /** @scrutinizer ignore-deprecated */ new ImageFactory();
Loading history...
20
    }
21
22
    /** @test */
23
    public function noPageIsSetWhenOptionsAreNotProvided()
24
    {
25
        /** @var Image $image */
26
        $image = $this->factory->__invoke(new ServiceManager(['services' => [
27
            'config' => ['wkhtmltopdf' => []],
28
        ]]), '');
29
        $this->assertInstanceOf(Image::class, $image);
30
31
        $ref = new ReflectionObject($image);
32
        $page = $ref->getProperty('_page');
33
        $page->setAccessible(true);
34
        $this->assertNull($page->getValue($image));
35
    }
36
37
    /** @test */
38
    public function aPageIsSetWhenOptionsIncludeTheUrl()
39
    {
40
        $expectedPage = 'foo/bar.html';
41
42
        /** @var Image $image */
43
        $image = $this->factory->__invoke(new ServiceManager(['services' => [
44
            'config' => ['wkhtmltopdf' => []],
45
        ]]), '', ['url' => $expectedPage]);
46
        $this->assertInstanceOf(Image::class, $image);
47
48
        $ref = new ReflectionObject($image);
49
        $page = $ref->getProperty('_page');
50
        $page->setAccessible(true);
51
        $this->assertEquals($expectedPage, $page->getValue($image));
52
    }
53
}
54