125 - Pushing Logic Out of the View

This commit is contained in:
Adam Wathan
2017-07-10 15:12:28 -04:00
parent 2b95a57e8c
commit df93546ed4
3 changed files with 28 additions and 11 deletions

View File

@@ -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);
}
}