144 - Testing the Event Listener

This commit is contained in:
Adam Wathan
2017-11-14 16:41:09 -05:00
parent 5e45bfc693
commit 6e1924e5c9
4 changed files with 90 additions and 2 deletions

View File

@@ -0,0 +1,44 @@
<?php
namespace Tests\Unit\Listeners;
use Tests\TestCase;
use App\Events\ConcertAdded;
use App\Jobs\ProcessPosterImage;
use Illuminate\Support\Facades\Queue;
use Illuminate\Foundation\Testing\RefreshDatabase;
class SchedulePosterImageProcessingTest extends TestCase
{
use RefreshDatabase;
/** @test */
function it_queues_a_job_to_process_a_poster_image_if_a_poster_image_is_present()
{
Queue::fake();
$concert = \ConcertFactory::createUnpublished([
'poster_image_path' => 'posters/example-poster.png',
]);
ConcertAdded::dispatch($concert);
Queue::assertPushed(ProcessPosterImage::class, function ($job) use ($concert) {
return $job->concert->is($concert);
});
}
/** @test */
function a_job_is_not_queued_if_a_poster_is_not_present()
{
Queue::fake();
$concert = \ConcertFactory::createUnpublished([
'poster_image_path' => null,
]);
ConcertAdded::dispatch($concert);
Queue::assertNotPushed(ProcessPosterImage::class);
}
}