Passed
Push — master ( 4b2c1a...a53d55 )
by Maximilian
02:53
created

VideoAppTest::testMetadata()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 14
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 10
c 0
b 0
f 0
dl 0
loc 14
rs 9.9332
cc 1
nc 1
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace MaxBeckers\AmazonAlexa\Test\Response\Directives;
6
7
use MaxBeckers\AmazonAlexa\Response\Directives\VideoApp\Metadata;
8
use MaxBeckers\AmazonAlexa\Response\Directives\VideoApp\VideoItem;
9
use MaxBeckers\AmazonAlexa\Response\Directives\VideoApp\VideoLaunchDirective;
10
use PHPUnit\Framework\TestCase;
11
12
class VideoAppTest extends TestCase
13
{
14
    public function testMetadata(): void
15
    {
16
        $meta = Metadata::create();
17
        $this->assertInstanceOf(Metadata::class, $meta);
18
        $this->assertNull($meta->title);
19
        $this->assertNull($meta->subtitle);
20
21
        $meta = Metadata::create('Test');
22
        $this->assertInstanceOf(Metadata::class, $meta);
23
        $this->assertSame('Test', $meta->title);
24
        $this->assertNull($meta->subtitle);
25
26
        $meta = Metadata::create('Test', 'Sub');
27
        $this->assertSame('Sub', $meta->subtitle);
28
    }
29
30
    public function testVideoItem(): void
31
    {
32
        $vi = VideoItem::create('http://example.com/video.mp4');
33
        $this->assertInstanceOf(VideoItem::class, $vi);
34
        $this->assertSame('http://example.com/video.mp4', $vi->source);
35
        $this->assertNull($vi->metadata);
36
37
        $m = Metadata::create();
38
        $vi = VideoItem::create('http://example.com/video.mp4', $m);
39
        $this->assertSame($m, $vi->metadata);
40
    }
41
42
    public function testVideoLaunchDirective(): void
43
    {
44
        $vc = VideoLaunchDirective::create();
45
        $this->assertSame('VideoApp.Launch', $vc->type);
46
        $this->assertNull($vc->videoItem);
47
48
        $vi = VideoItem::create('http://example.com/video.mp4');
49
        $vc = VideoLaunchDirective::create($vi);
50
        $this->assertSame($vi, $vc->videoItem);
51
    }
52
}
53