Upgrade to Laravel 13

This commit is contained in:
Jonny Barnes 2026-04-07 09:01:19 +01:00
commit 9f012b01e4
Signed by: jonny
SSH key fingerprint: SHA256:CTuSlns5U7qlD9jqHvtnVmfYV3Zwl2Z7WnJ4/dqOaL8
117 changed files with 1878 additions and 2215 deletions

View file

@ -7,6 +7,7 @@ namespace Tests\Unit;
use App\Models\Media;
use App\Models\Note;
use Illuminate\Foundation\Testing\RefreshDatabase;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\Attributes\Test;
use Tests\TestCase;
@ -38,4 +39,68 @@ class MediaTest extends TestCase
$this->assertEquals($absoluteUrl, $media->url);
}
#[Test]
public function local_paths_get_storage_url_prepended(): void
{
$media = new Media;
$media->path = 'photo.jpg';
$this->assertEquals(config('app.url').'/storage/photo.jpg', $media->url);
}
#[Test]
public function medium_url_returns_resized_path(): void
{
$media = new Media;
$media->path = 'photo.jpg';
$this->assertEquals(config('app.url').'/storage/photo-medium.jpg', $media->mediumurl);
}
#[Test]
public function small_url_returns_resized_path(): void
{
$media = new Media;
$media->path = 'photo.jpg';
$this->assertEquals(config('app.url').'/storage/photo-small.jpg', $media->smallurl);
}
#[Test]
public function size_url_handles_dotted_basename(): void
{
$media = new Media;
$media->path = 'file.name.png';
$this->assertEquals(config('app.url').'/storage/file.name-medium.png', $media->mediumurl);
}
/**
* @dataProvider mimeTypeProvider
*/
#[DataProvider('mimeTypeProvider')]
public function mimetype_returns_correct_mime_for_extension(string $path, string $expected): void
{
$media = new Media;
$media->path = $path;
$this->assertEquals($expected, $media->mimetype);
}
public static function mimeTypeProvider(): array
{
return [
['photo.gif', 'image/gif'],
['photo.jpeg', 'image/jpeg'],
['photo.jpg', 'image/jpeg'],
['photo.png', 'image/png'],
['photo.svg', 'image/svg+xml'],
['photo.tiff', 'image/tiff'],
['photo.webp', 'image/webp'],
['video.mp4', 'video/mp4'],
['video.mkv', 'video/mkv'],
['file.bin', 'application/octet-stream'],
];
}
}