diff --git a/app/Models/Meetup.php b/app/Models/Meetup.php index 8735b54..7c2e0b2 100644 --- a/app/Models/Meetup.php +++ b/app/Models/Meetup.php @@ -163,7 +163,7 @@ class Meetup extends Model implements HasMedia { $this ->addMediaCollection('logo') - ->acceptsMimeTypes(['image/jpeg', 'image/png', 'image/gif', 'image/webp']) + ->acceptsMimeTypes(['image/jpeg', 'image/png', 'image/gif', 'image/webp', 'image/avif']) ->singleFile() ->useFallbackUrl(get_domain_attributes()['image']); } diff --git a/tests/Feature/Meetups/CreateMeetupTest.php b/tests/Feature/Meetups/CreateMeetupTest.php index bdb5396..def2061 100644 --- a/tests/Feature/Meetups/CreateMeetupTest.php +++ b/tests/Feature/Meetups/CreateMeetupTest.php @@ -3,6 +3,7 @@ use App\Models\City; use App\Models\Country; use App\Models\Meetup; +use Illuminate\Support\Facades\Storage; use Livewire\Livewire; beforeEach(function () { @@ -26,6 +27,19 @@ it('creates a Meetup when authenticated user submits a valid form', function () ->and($meetup->city_id)->toBe($this->city->id); }); +it('accepts an avif file into the logo media collection', function () { + Storage::fake('public'); + + $path = sys_get_temp_dir().'/'.uniqid('avif_', true).'.avif'; + imageavif(imagecreatetruecolor(1, 1), $path); + + $meetup = Meetup::factory()->create(['city_id' => $this->city->id]); + + $meetup->addMedia($path)->toMediaCollection('logo'); + + expect($meetup->getFirstMedia('logo'))->not->toBeNull(); +}); + it('rejects creation without a name', function () { actingAsUser();