assertOk(); }); it('normal users cannot see entries index page', function () { // Arrange actAsNormal(); get(route('admin.entries.index')) ->assertRedirect(route('dashboard')); // Act & Assert }); it('does not allow guests to see the entries index page', function () { // Arrange get(route('admin.entries.index')) ->assertRedirect(route('home')); }); it('shows entries on the index page', function () { $entries = Entry::factory()->count(2)->create(); actAsAdmin(); $response = get(route('admin.entries.index')) ->assertOk(); foreach ($entries as $entry) { $response ->assertSee($entry->id) ->assertSee($entry->audition->name) ->assertSee($entry->student->full_name()) ->assertSee($entry->student->grade) ->assertSee($entry->school->name); } }); it('has a link to add a new entry', function () { actAsAdmin(); get(route('admin.entries.index')) ->assertSee('New Entry') ->assertSee(route('admin.entries.create')); }); it('has a link to edit each entry', function () { $entries = Entry::factory()->count(2)->create(); actAsAdmin(); $response = get(route('admin.entries.index')) ->assertOk(); foreach ($entries as $entry) { $response ->assertSee(route('admin.entries.edit', $entry)); } }); //it('has pagination after 10 entries', function () { // Entry::factory()->count(10)->create(); // actAsAdmin(); // get(route('admin.entries.index')) // ->assertOk() // ->assertDontSee('Previous') // ->assertDontSee('Next'); // Entry::factory()->count(1)->create(); // get(route('admin.entries.index')) // ->assertOk() // ->assertSee('Next'); // get(route('admin.entries.index', ['page' => 2])) // ->assertOk() // ->assertSee('Previous') // ->assertDontSee('Next'); // Entry::factory()->count(20)->create(); // get(route('admin.entries.index', ['page' => 2])) // ->assertOk() // ->assertSee('Previous') // ->assertSee('Next'); //});