Completed
Push — 3.x ( f37b5a...b37d45 )
by Christian
26:43
created

MetadataTest::testIsImageAvailable()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 7
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 2
1
<?php
2
3
declare(strict_types=1);
4
5
/*
6
 * This file is part of the Sonata Project package.
7
 *
8
 * (c) Thomas Rabaix <[email protected]>
9
 *
10
 * For the full copyright and license information, please view the LICENSE
11
 * file that was distributed with this source code.
12
 */
13
14
namespace Sonata\AdminBundle\Tests\Object;
15
16
use PHPUnit\Framework\TestCase;
17
use Sonata\AdminBundle\Object\Metadata;
18
19
class MetadataTest extends TestCase
20
{
21
    public function testGetters(): void
22
    {
23
        $metadata = new Metadata('title', 'description', 'image', 'domain', ['key1' => 'value1']);
24
25
        $this->assertSame('title', $metadata->getTitle());
26
        $this->assertSame('description', $metadata->getDescription());
27
        $this->assertSame('image', $metadata->getImage());
28
        $this->assertSame('domain', $metadata->getDomain());
29
30
        $this->assertSame('value1', $metadata->getOption('key1'));
31
        $this->assertSame('valueDefault', $metadata->getOption('none', 'valueDefault'));
32
        $this->assertNull($metadata->getOption('none'));
33
        $this->assertSame(['key1' => 'value1'], $metadata->getOptions());
34
        $this->assertSame('value1', $metadata->getOption('key1'));
35
36
        $metadata2 = new Metadata('title', 'description', 'image');
37
        $this->assertNull($metadata2->getDomain());
38
        $this->assertSame([], $metadata2->getOptions());
39
    }
40
41
    public function testImageNullGetDefaultImage(): void
42
    {
43
        $metadata = new Metadata('title', 'description');
44
        $this->assertSame($metadata::DEFAULT_MOSAIC_BACKGROUND, $metadata->getImage());
45
    }
46
47
    /**
48
     * @dataProvider isImageAvailableProvider
49
     */
50
    public function testIsImageAvailable(bool $expected, ?string $image): void
51
    {
52
        $this->assertSame(
53
            $expected,
54
            (new Metadata('title', 'description', $image))->isImageAvailable()
55
        );
56
    }
57
58
    public function isImageAvailableProvider(): \Generator
59
    {
60
        yield 'image is null' => [false, null];
61
        yield 'image is available' => [true, 'image.png'];
62
    }
63
}
64