mediaMetadataService = self::mock(MediaMetadataService::class); } public function testUpdate(): void { $this->expectsEvents(LibraryChanged::class); Artist::factory()->create(['id' => 9999]); $this->mediaMetadataService ->shouldReceive('writeArtistImage') ->once() ->with(Mockery::on(static function (Artist $artist): bool { return $artist->id === 9999; }), 'Foo', 'jpeg'); $this->putAs('api/artist/9999/image', [ 'image' => 'data:image/jpeg;base64,Rm9v', ], User::factory()->admin()->create()) ->assertStatus(200); } public function testUpdateNotAllowedForNormalUsers(): void { Artist::factory()->create(['id' => 9999]); $this->mediaMetadataService ->shouldReceive('writeArtistImage') ->never(); $this->putAs('api/artist/9999/image', [ 'image' => 'data:image/jpeg;base64,Rm9v', ], User::factory()->create()) ->assertStatus(403); } }