Files
kelas-taming/tests/Feature/UserIndexTest.php
2026-05-11 12:20:39 +08:00

48 lines
1.2 KiB
PHP

<?php
use App\Models\User;
test('guests are redirected to login from users page', function () {
$this->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);
});