diff --git a/app/Http/Controllers/Backstage/ConcertsController.php b/app/Http/Controllers/Backstage/ConcertsController.php index 154be19..6fbad78 100644 --- a/app/Http/Controllers/Backstage/ConcertsController.php +++ b/app/Http/Controllers/Backstage/ConcertsController.php @@ -53,6 +53,7 @@ class ConcertsController extends Controller 'zip' => request('zip'), 'ticket_price' => request('ticket_price') * 100, 'ticket_quantity' => (int) request('ticket_quantity'), + 'poster_image_path' => request('poster_image')->store('posters', 's3'), ]); return redirect()->route('backstage.concerts.index'); diff --git a/tests/Feature/Backstage/AddConcertTest.php b/tests/Feature/Backstage/AddConcertTest.php index 5278b56..495b279 100644 --- a/tests/Feature/Backstage/AddConcertTest.php +++ b/tests/Feature/Backstage/AddConcertTest.php @@ -373,14 +373,23 @@ class AddConcertTest extends TestCase /** @test */ function poster_image_is_uploaded_if_included() { + $this->disableExceptionHandling(); + Storage::fake('s3'); $user = factory(User::class)->create(); + $file = File::image('concert-poster.png'); $response = $this->actingAs($user)->post('/backstage/concerts', $this->validParams([ - 'poster_image' => File::image('concert-poster.png'), + 'poster_image' => $file, ])); - $this->assertNotNull(Concert::first()->poster_image_path); - Storage::disk('s3')->assertExists(Concert::first()->poster_image_path); + tap(Concert::first(), function ($concert) use ($file) { + $this->assertNotNull($concert->poster_image_path); + Storage::disk('s3')->assertExists($concert->poster_image_path); + $this->assertFileEquals( + $file->getPathname(), + Storage::disk('s3')->path($concert->poster_image_path) + ); + }); } }