mediaMetadataService = static::mockIocDependency(MediaMetadataService::class); } public function testUpdate(): void { $this->expectsEvents(LibraryChanged::class); factory(Album::class)->create(['id' => 9999]); $this->mediaMetadataService ->shouldReceive('writeAlbumCover') ->once() ->with(Mockery::on(static function (Album $album): bool { return $album->id === 9999; }), 'Foo', 'jpeg'); $this->putAsUser('api/album/9999/cover', [ 'cover' => 'data:image/jpeg;base64,Rm9v' ], factory(User::class, 'admin')->create()) ->seeStatusCode(200); } public function testUpdateNotAllowedForNormalUsers(): void { factory(Album::class)->create(['id' => 9999]); $this->mediaMetadataService ->shouldReceive('writeAlbumCover') ->never(); $this->putAsUser('api/album/9999/cover', [ 'cover' => 'data:image/jpeg;base64,Rm9v' ], factory(User::class)->create()) ->seeStatusCode(403); } }