get('/users')->assertRedirect('/login'); }); test('authenticated users can view the users page', function () { $user = User::factory()->create(); $this->actingAs($user) ->get('/users') ->assertOk() ->assertViewIs('users.index'); }); test('users page passes paginated users to view', function () { $user = User::factory()->create(); $this->actingAs($user) ->get('/users') ->assertOk() ->assertViewHas('users'); }); test('ajax request returns table partial', function () { $user = User::factory()->create(); $this->actingAs($user) ->withHeader('X-Requested-With', 'XMLHttpRequest') ->get('/users') ->assertOk() ->assertViewIs('users._table'); }); test('ajax pagination returns correct page', function () { $user = User::factory()->create(); User::factory()->count(15)->create(); $this->actingAs($user) ->withHeader('X-Requested-With', 'XMLHttpRequest') ->get('/users?page=2') ->assertOk() ->assertViewIs('users._table') ->assertViewHas('users', fn ($users) => $users->currentPage() === 2); });