diff --git a/app/Http/Controllers/Backstage/ConcertsController.php b/app/Http/Controllers/Backstage/ConcertsController.php index 5fa1d15..da5a9fc 100644 --- a/app/Http/Controllers/Backstage/ConcertsController.php +++ b/app/Http/Controllers/Backstage/ConcertsController.php @@ -10,6 +10,11 @@ use Illuminate\Support\Facades\Auth; class ConcertsController extends Controller { + public function index() + { + return view('backstage.concerts.index', ['concerts' => Concert::all()]); + } + public function create() { return view('backstage.concerts.create'); diff --git a/resources/views/backstage/concerts/index.blade.php b/resources/views/backstage/concerts/index.blade.php new file mode 100644 index 0000000..e69de29 diff --git a/routes/web.php b/routes/web.php index af2b620..6ea87c8 100644 --- a/routes/web.php +++ b/routes/web.php @@ -20,6 +20,7 @@ Route::post('/login', 'Auth\LoginController@login')->name('auth.login'); Route::post('/logout', 'Auth\LoginController@logout')->name('auth.logout'); Route::group(['middleware' => 'auth', 'prefix' => 'backstage', 'namespace' => 'Backstage'], function () { + Route::get('/concerts', 'ConcertsController@index'); Route::get('/concerts/new', 'ConcertsController@create'); Route::post('/concerts', 'ConcertsController@store'); }); diff --git a/tests/Feature/Backstage/ViewConcertListTest.php b/tests/Feature/Backstage/ViewConcertListTest.php new file mode 100644 index 0000000..e43a4a0 --- /dev/null +++ b/tests/Feature/Backstage/ViewConcertListTest.php @@ -0,0 +1,42 @@ +get('/backstage/concerts'); + + $response->assertStatus(302); + $response->assertRedirect('/login'); + } + + /** @test */ + function promoters_can_view_a_list_of_their_concerts() + { + $this->disableExceptionHandling(); + $user = factory(User::class)->create(); + $concerts = factory(Concert::class, 3)->create(['user_id' => $user->id]); + + $response = $this->actingAs($user)->get('/backstage/concerts'); + + $response->assertStatus(200); + $this->assertTrue($response->original->getData()['concerts']->contains($concerts[0])); + $this->assertTrue($response->original->getData()['concerts']->contains($concerts[1])); + $this->assertTrue($response->original->getData()['concerts']->contains($concerts[2])); + } +}