diff --git a/tests/Feature/ConversionFlowTest.php b/tests/Feature/ConversionFlowTest.php new file mode 100644 index 0000000..72e20b2 --- /dev/null +++ b/tests/Feature/ConversionFlowTest.php @@ -0,0 +1,47 @@ +create(); + + $component = Livewire::actingAs($user) + ->test(DashboardConverter::class) + ->set('upload', UploadedFile::fake()->image('avatar.png', 800, 600)) + ->assertSet('step', 'format') + ->call('selectTargetFormat', 'jpg') + ->assertSet('step', 'settings') + ->set('options.quality', 'high') + ->call('continueFromSettings') + ->assertSet('step', 'convert') + ->call('convert') + ->assertSet('step', 'converting'); + + $job = ConversionJob::query()->firstOrFail(); + + (new ProcessConversionJob($job->id))->handle( + app(ConverterDriverRegistry::class), + app(RecordConversionResultFileAction::class), + ); + + $component + ->call('refreshConversionStatus') + ->assertSet('step', 'completed') + ->assertSee('Download'); + + $this->actingAs($user) + ->get(route('conversions.download', $job->fresh())) + ->assertOk(); +});