48 lines
1.2 KiB
PHP
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);
|
|
});
|