GenerateFilesPackTest.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace Tests\Unit\Jobs;
  3. use App\Jobs\GenerateFilesPack;
  4. use App\Models\Order;
  5. use Illuminate\Support\Facades\Bus;
  6. use Illuminate\Support\Facades\Queue;
  7. use Mockery;
  8. use Tests\TestCase;
  9. class GenerateFilesPackTest extends TestCase
  10. {
  11. protected function tearDown(): void
  12. {
  13. Mockery::close();
  14. parent::tearDown();
  15. }
  16. public function test_job_can_be_dispatched(): void
  17. {
  18. Bus::fake();
  19. $order = Mockery::mock(Order::class);
  20. GenerateFilesPack::dispatch($order, collect([]), 1);
  21. Bus::assertDispatched(GenerateFilesPack::class);
  22. }
  23. public function test_job_is_queued_via_queue_fake(): void
  24. {
  25. Queue::fake();
  26. $order = Mockery::mock(Order::class);
  27. GenerateFilesPack::dispatch($order, collect([]), 1);
  28. Queue::assertPushed(GenerateFilesPack::class);
  29. }
  30. public function test_job_dispatched_with_custom_name(): void
  31. {
  32. Bus::fake();
  33. $order = Mockery::mock(Order::class);
  34. GenerateFilesPack::dispatch($order, collect([]), 1, 'documents');
  35. Bus::assertDispatched(GenerateFilesPack::class);
  36. }
  37. public function test_job_not_dispatched_without_dispatch_call(): void
  38. {
  39. Bus::fake();
  40. Bus::assertNotDispatched(GenerateFilesPack::class);
  41. }
  42. }