use(WithFaker::class); test('default', function (): void { Config::set(AudioConstants::DISKS_QUALIFIED, []); Storage::fake(Config::get(AudioConstants::DEFAULT_DISK_QUALIFIED)); $file = File::fake()->create(fake()->word().'.ogg', fake()->randomDigitNotNull()); $action = new UploadAudioAction($file, fake()->word()); $storageResults = $action->handle(); $result = $storageResults->toActionResult(); expect($result->hasFailed())->toBeTrue(); }); test('passed', function (): void { Storage::fake(Config::get(AudioConstants::DEFAULT_DISK_QUALIFIED)); Config::set(AudioConstants::DISKS_QUALIFIED, [Config::get(AudioConstants::DEFAULT_DISK_QUALIFIED)]); $file = File::fake()->create(fake()->word().'.ogg', fake()->randomDigitNotNull()); $action = new UploadAudioAction($file, fake()->word()); $storageResults = $action->handle(); $result = $storageResults->toActionResult(); expect($result->getStatus())->toBe(ActionStatus::PASSED); }); test('uploaded to disk', function (): void { Storage::fake(Config::get(AudioConstants::DEFAULT_DISK_QUALIFIED)); Config::set(AudioConstants::DISKS_QUALIFIED, [Config::get(AudioConstants::DEFAULT_DISK_QUALIFIED)]); $file = File::fake()->create(fake()->word().'.ogg', fake()->randomDigitNotNull()); $action = new UploadAudioAction($file, fake()->word()); $action->handle(); expect(Storage::disk(Config::get(AudioConstants::DEFAULT_DISK_QUALIFIED))->allFiles())->toHaveCount(1); }); test('created audio', function (): void { Storage::fake(Config::get(AudioConstants::DEFAULT_DISK_QUALIFIED)); Config::set(AudioConstants::DISKS_QUALIFIED, [Config::get(AudioConstants::DEFAULT_DISK_QUALIFIED)]); $file = File::fake()->create(fake()->word().'.ogg', fake()->randomDigitNotNull()); $action = new UploadAudioAction($file, fake()->word()); $result = $action->handle(); $action->then($result); $this->assertDatabaseCount(Audio::class, 1); });