mirror of
https://github.com/koel/koel
synced 2024-11-24 13:13:05 +00:00
Add unit tests for File
This commit is contained in:
parent
cc975996af
commit
365ea3d9ad
2 changed files with 61 additions and 0 deletions
61
tests/Unit/FileTest.php
Normal file
61
tests/Unit/FileTest.php
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Tests\Unit;
|
||||||
|
|
||||||
|
use App\Models\File;
|
||||||
|
use Illuminate\Foundation\Testing\DatabaseTransactions;
|
||||||
|
use SplFileInfo;
|
||||||
|
use Tests\TestCase;
|
||||||
|
|
||||||
|
class FileTest extends TestCase
|
||||||
|
{
|
||||||
|
use DatabaseTransactions;
|
||||||
|
|
||||||
|
/** @test */
|
||||||
|
public function it_can_be_instantiated()
|
||||||
|
{
|
||||||
|
$file = new File(__DIR__.'/../songs/full.mp3');
|
||||||
|
$this->assertInstanceOf(File::class, $file);
|
||||||
|
$file = new File(new SplFileInfo(__DIR__.'/../songs/full.mp3'));
|
||||||
|
$this->assertInstanceOf(File::class, $file);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @test */
|
||||||
|
public function file_info_is_retrieved_correctly()
|
||||||
|
{
|
||||||
|
$file = new File(__DIR__.'/../songs/full.mp3');
|
||||||
|
$info = $file->getInfo();
|
||||||
|
|
||||||
|
$expectedData = [
|
||||||
|
'artist' => 'Koel',
|
||||||
|
'album' => 'Koel Testing Vol. 1',
|
||||||
|
'compilation' => false,
|
||||||
|
'title' => 'Amet',
|
||||||
|
'track' => 5,
|
||||||
|
'lyrics' => '',
|
||||||
|
'cover' => [
|
||||||
|
'data' => file_get_contents(__DIR__.'/../blobs/cover.png'),
|
||||||
|
'image_mime' => 'image/png',
|
||||||
|
'image_width' => 512,
|
||||||
|
'image_height' => 512,
|
||||||
|
'imagetype' => 'PNG',
|
||||||
|
'picturetype' => 'Other',
|
||||||
|
'description' => '',
|
||||||
|
'datalength' => 7627,
|
||||||
|
],
|
||||||
|
'path' => __DIR__.'/../songs/full.mp3',
|
||||||
|
'mtime' => filemtime(__DIR__.'/../songs/full.mp3'),
|
||||||
|
'albumartist' => '',
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->assertArraySubset($expectedData, $info);
|
||||||
|
$this->assertEquals(10.083, $info['length'], '', 0.001);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @test */
|
||||||
|
public function song_without_a_title_tag_has_file_name_as_the_title()
|
||||||
|
{
|
||||||
|
$file = new File(__DIR__.'/../songs/blank.mp3');
|
||||||
|
$this->assertSame('blank', $file->getInfo()['title']);
|
||||||
|
}
|
||||||
|
}
|
BIN
tests/blobs/cover.png
Normal file
BIN
tests/blobs/cover.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.4 KiB |
Loading…
Reference in a new issue