diff --git a/app/Http/Controllers/Backstage/ConcertsController.php b/app/Http/Controllers/Backstage/ConcertsController.php
index 7c58d86..154be19 100644
--- a/app/Http/Controllers/Backstage/ConcertsController.php
+++ b/app/Http/Controllers/Backstage/ConcertsController.php
@@ -12,7 +12,10 @@ class ConcertsController extends Controller
{
public function index()
{
- return view('backstage.concerts.index', ['concerts' => Auth::user()->concerts]);
+ return view('backstage.concerts.index', [
+ 'publishedConcerts' => Auth::user()->concerts->filter->isPublished(),
+ 'unpublishedConcerts' => Auth::user()->concerts->reject->isPublished(),
+ ]);
}
public function create()
diff --git a/resources/views/backstage/concerts/index.blade.php b/resources/views/backstage/concerts/index.blade.php
index 7f6f605..4170768 100644
--- a/resources/views/backstage/concerts/index.blade.php
+++ b/resources/views/backstage/concerts/index.blade.php
@@ -32,7 +32,7 @@
Published
- @foreach ($concerts->filter->isPublished() as $concert)
+ @foreach ($publishedConcerts as $concert)
@@ -62,7 +62,7 @@
Drafts
- @foreach ($concerts->reject->isPublished() as $concert)
+ @foreach ($unpublishedConcerts as $concert)
diff --git a/tests/Feature/Backstage/ViewConcertListTest.php b/tests/Feature/Backstage/ViewConcertListTest.php
index c5d53ba..1ed4c06 100644
--- a/tests/Feature/Backstage/ViewConcertListTest.php
+++ b/tests/Feature/Backstage/ViewConcertListTest.php
@@ -4,6 +4,7 @@ namespace Tests\Feature\Backstage;
use App\User;
use App\Concert;
+use ConcertFactory;
use Tests\TestCase;
use PHPUnit\Framework\Assert;
use Illuminate\Database\Eloquent\Collection;
@@ -44,17 +45,30 @@ class ViewConcertListTest extends TestCase
$this->disableExceptionHandling();
$user = factory(User::class)->create();
$otherUser = factory(User::class)->create();
- $concertA = factory(Concert::class)->create(['user_id' => $user->id]);
- $concertB = factory(Concert::class)->create(['user_id' => $user->id]);
- $concertC = factory(Concert::class)->create(['user_id' => $otherUser->id]);
- $concertD = factory(Concert::class)->create(['user_id' => $user->id]);
+ $publishedConcertA = ConcertFactory::createPublished(['user_id' => $user->id]);
+ $publishedConcertB = ConcertFactory::createPublished(['user_id' => $otherUser->id]);
+ $publishedConcertC = ConcertFactory::createPublished(['user_id' => $user->id]);
+
+ $unpublishedConcertA = factory(Concert::class)->states('unpublished')->create(['user_id' => $user->id]);
+ $unpublishedConcertB = factory(Concert::class)->states('unpublished')->create(['user_id' => $otherUser->id]);
+ $unpublishedConcertC = factory(Concert::class)->states('unpublished')->create(['user_id' => $user->id]);
$response = $this->actingAs($user)->get('/backstage/concerts');
$response->assertStatus(200);
- $response->data('concerts')->assertContains($concertA);
- $response->data('concerts')->assertContains($concertB);
- $response->data('concerts')->assertContains($concertD);
- $response->data('concerts')->assertNotContains($concertC);
+
+ $response->data('publishedConcerts')->assertContains($publishedConcertA);
+ $response->data('publishedConcerts')->assertNotContains($publishedConcertB);
+ $response->data('publishedConcerts')->assertContains($publishedConcertC);
+ $response->data('publishedConcerts')->assertNotContains($unpublishedConcertA);
+ $response->data('publishedConcerts')->assertNotContains($unpublishedConcertB);
+ $response->data('publishedConcerts')->assertNotContains($unpublishedConcertC);
+
+ $response->data('unpublishedConcerts')->assertNotContains($publishedConcertA);
+ $response->data('unpublishedConcerts')->assertNotContains($publishedConcertB);
+ $response->data('unpublishedConcerts')->assertNotContains($publishedConcertC);
+ $response->data('unpublishedConcerts')->assertContains($unpublishedConcertA);
+ $response->data('unpublishedConcerts')->assertNotContains($unpublishedConcertB);
+ $response->data('unpublishedConcerts')->assertContains($unpublishedConcertC);
}
}